Skip to content

Commit 8783aa9

Browse files
committed
add tests
1 parent 3cf3e86 commit 8783aa9

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

lib/elixir/test/elixir/code_test.exs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -514,6 +514,27 @@ defmodule CodeTest do
514514
}
515515
end
516516

517+
test "string_to_quoted raises UnicodeConversionError for invalid UTF-8 in quoted atoms and function calls" do
518+
invalid_utf8_cases = [
519+
# Quoted atom
520+
~S{:"\xFF"},
521+
~S{:'\xFF'},
522+
# Quoted function call
523+
~S{foo."\xFF"()},
524+
~S{foo.'\xFF'()}
525+
]
526+
527+
for code <- invalid_utf8_cases do
528+
assert_raise UnicodeConversionError, fn ->
529+
Code.string_to_quoted!(code)
530+
end
531+
532+
assert_raise UnicodeConversionError, fn ->
533+
Code.string_to_quoted!(code, existing_atoms_only: true)
534+
end
535+
end
536+
end
537+
517538
@tag :requires_source
518539
test "compile source" do
519540
assert __MODULE__.__info__(:compile)[:source] == String.to_charlist(__ENV__.file)

0 commit comments

Comments
 (0)