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
141141 escape_sequence ( rest )
142142 end
143143
144+ defp escape_sequence ( other ) do
145+ [ spec | _ ] = String . split ( other , % r / ( , | \} ) /)
146+ raise ArgumentError , message: "invalid ANSI sequence specification: #{ spec } "
147+ end
148+
144149 @doc % B """
145150 Escapes a string coverting named ANSI sequences into actual ANSI codes.
146151
Original file line number Diff line number Diff line change @@ -33,4 +33,13 @@ defmodule IO.ANSITest do
3333 test :noop do
3434 assert IO.ANSI . escape ( "" ) == ""
3535 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
3645end
You can’t perform that action at this time.
0 commit comments