From d1f38c1b92f332ff338426ed7b50c3841245a617 Mon Sep 17 00:00:00 2001 From: Marcin Puc Date: Mon, 10 May 2021 19:27:56 +0200 Subject: Support unicode in env variables --- src/gleam/os.gleam | 4 ++-- test/gleam/os_test.gleam | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/gleam/os.gleam b/src/gleam/os.gleam index 374c5e2..fcaf724 100644 --- a/src/gleam/os.gleam +++ b/src/gleam/os.gleam @@ -17,10 +17,10 @@ external fn os_unsetenv(key: CharList) -> Bool = "os" "unsetenv" external fn char_list_to_string(CharList) -> String = - "erlang" "list_to_binary" + "unicode" "characters_to_binary" external fn string_to_char_list(String) -> CharList = - "erlang" "binary_to_list" + "unicode" "characters_to_list" /// Returns all environment variables set on the system. pub fn get_env() -> Map(String, String) { diff --git a/test/gleam/os_test.gleam b/test/gleam/os_test.gleam index 6385453..3442a90 100644 --- a/test/gleam/os_test.gleam +++ b/test/gleam/os_test.gleam @@ -15,6 +15,13 @@ pub fn env_test() { |> should.equal(Error(Nil)) } +pub fn unicode_test() { + os.insert_env("GLEAM_UNICODE_TEST", "Iñtërnâtiônà£ißætiøn☃💩") + os.get_env() + |> map.get("GLEAM_UNICODE_TEST") + |> should.equal(Ok("Iñtërnâtiônà£ißætiøn☃💩")) +} + pub fn system_time_test() { let june_12_2020 = 1591966971 { os.system_time(os.Second) > june_12_2020 } -- cgit v1.2.3