From 6391f3b11fe69a78f8e9568eee71180bc09c4edf Mon Sep 17 00:00:00 2001 From: Louis Pilfold Date: Sun, 8 Jan 2023 15:05:21 +0000 Subject: Decode Uint8Arrays --- test/gleam/dynamic_test.gleam | 12 ++++++++++++ test/gleam_stdlib_test_ffi.mjs | 9 +++++++++ 2 files changed, 21 insertions(+) (limited to 'test') diff --git a/test/gleam/dynamic_test.gleam b/test/gleam/dynamic_test.gleam index 104c1fa..9d1aeba 100644 --- a/test/gleam/dynamic_test.gleam +++ b/test/gleam/dynamic_test.gleam @@ -39,6 +39,18 @@ if erlang { } } +if javascript { + external fn uint8array(List(Int)) -> dynamic.Dynamic = + "../gleam_stdlib_test_ffi.mjs" "uint8array" + + pub fn bit_string_erlang_test() { + [1, 1, 2, 3, 5, 8] + |> uint8array + |> dynamic.bit_string + |> should.equal(Ok(<<1, 1, 2, 3, 5, 8>>)) + } +} + pub fn string_test() { "" |> dynamic.from diff --git a/test/gleam_stdlib_test_ffi.mjs b/test/gleam_stdlib_test_ffi.mjs index 90eeaf0..cbf0382 100755 --- a/test/gleam_stdlib_test_ffi.mjs +++ b/test/gleam_stdlib_test_ffi.mjs @@ -33,3 +33,12 @@ ${passes} passes ${failures} failures`); process.exit(failures ? 1 : 0); } + +export function uint8array(list) { + let ints = list.toArray(); + let array = new Uint8Array(ints.length); + for (let i = 0; i < ints.length; i++) { + array[i] = ints[i]; + } + return array; +} -- cgit v1.2.3