File tree Expand file tree Collapse file tree 2 files changed +14
-0
lines changed Expand file tree Collapse file tree 2 files changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -141,6 +141,11 @@ defmodule IO.ANSI do
141
141
escape_sequence ( rest )
142
142
end
143
143
144
+ defp escape_sequence ( other ) do
145
+ [ spec | _ ] = String . split ( other , % r / ( , | \} ) /)
146
+ raise ArgumentError , message: "invalid ANSI sequence specification: #{ spec } "
147
+ end
148
+
144
149
@doc % B """
145
150
Escapes a string coverting named ANSI sequences into actual ANSI codes.
146
151
Original file line number Diff line number Diff line change @@ -33,4 +33,13 @@ defmodule IO.ANSITest do
33
33
test :noop do
34
34
assert IO.ANSI . escape ( "" ) == ""
35
35
end
36
+
37
+ test :invalid do
38
+ assert_raise ArgumentError , "invalid ANSI sequence specification: brigh" , fn ->
39
+ IO.ANSI . escape ( "%{brigh}, yes" )
40
+ end
41
+ assert_raise ArgumentError , "invalid ANSI sequence specification: brigh" , fn ->
42
+ IO.ANSI . escape ( "%{brigh,red}, yes" )
43
+ end
44
+ end
36
45
end
You can’t perform that action at this time.
0 commit comments