aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2023-01-08 15:05:21 +0000
committerLouis Pilfold <louis@lpil.uk>2023-01-08 15:05:21 +0000
commit6391f3b11fe69a78f8e9568eee71180bc09c4edf (patch)
treecdd32238f9c24093c27262c85bcdfc16b04bc6f7 /test
parentc7dc11afb9e026f094340e0a537d49f2e732188c (diff)
downloadgleam_stdlib-6391f3b11fe69a78f8e9568eee71180bc09c4edf.tar.gz
gleam_stdlib-6391f3b11fe69a78f8e9568eee71180bc09c4edf.zip
Decode Uint8Arrays
Diffstat (limited to 'test')
-rw-r--r--test/gleam/dynamic_test.gleam12
-rwxr-xr-xtest/gleam_stdlib_test_ffi.mjs9
2 files changed, 21 insertions, 0 deletions
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;
+}