From 00e9ddc2b86a5afe7008e121805eda740eaed84f Mon Sep 17 00:00:00 2001 From: sabiwara Date: Sun, 3 Nov 2024 09:19:50 +0900 Subject: [PATCH 1/2] Add test for call with thai atom, close #13951 --- lib/elixir/test/elixir/kernel/string_tokenizer_test.exs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/elixir/test/elixir/kernel/string_tokenizer_test.exs b/lib/elixir/test/elixir/kernel/string_tokenizer_test.exs index 1fc4e8c71e6..3b487cab1ca 100644 --- a/lib/elixir/test/elixir/kernel/string_tokenizer_test.exs +++ b/lib/elixir/test/elixir/kernel/string_tokenizer_test.exs @@ -70,6 +70,14 @@ defmodule Kernel.StringTokenizerTest do assert {:error, _} = Code.string_to_quoted("Ola!") end + test "tokenizes calls with thai atom" do + assert {{:., _, [:foo, :บูมเมอแรง]}, _, []} = + Code.string_to_quoted!(":foo.บูมเมอแรง()") + + assert {{:., _, [:foo, :บูมเมอแรง]}, _, []} = + Code.string_to_quoted!(":foo.\"บูมเมอแรง\"()") + end + describe "script mixing" do test "prevents Restricted codepoints in identifiers" do exception = assert_raise SyntaxError, fn -> Code.string_to_quoted!("_shibㅤ = 1") end From fb623c177e8c7f0371c81b392aec8e2169d86e5c Mon Sep 17 00:00:00 2001 From: Jean Klingler Date: Sun, 3 Nov 2024 17:19:31 +0900 Subject: [PATCH 2/2] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: José Valim --- lib/elixir/test/elixir/kernel/string_tokenizer_test.exs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/elixir/test/elixir/kernel/string_tokenizer_test.exs b/lib/elixir/test/elixir/kernel/string_tokenizer_test.exs index 3b487cab1ca..62aa161909a 100644 --- a/lib/elixir/test/elixir/kernel/string_tokenizer_test.exs +++ b/lib/elixir/test/elixir/kernel/string_tokenizer_test.exs @@ -70,7 +70,8 @@ defmodule Kernel.StringTokenizerTest do assert {:error, _} = Code.string_to_quoted("Ola!") end - test "tokenizes calls with thai atom" do + test "tokenizes remote calls" do + # We chose the atom below because Erlang represents it using nested lists assert {{:., _, [:foo, :บูมเมอแรง]}, _, []} = Code.string_to_quoted!(":foo.บูมเมอแรง()")