diff options
author | Louis Pilfold <louis@lpil.uk> | 2023-10-19 21:47:19 +0100 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2023-10-26 12:24:40 +0100 |
commit | b713e6fd185ad8b4da90f4b686aa9ecf0f60f0e4 (patch) | |
tree | 65e58212b32e5d2e6bbff81aaa050aacb82bb357 /test | |
parent | b181a406b5bc4e1855a1455b9d603d30320f1b54 (diff) | |
download | gleam_stdlib-b713e6fd185ad8b4da90f4b686aa9ecf0f60f0e4.tar.gz gleam_stdlib-b713e6fd185ad8b4da90f4b686aa9ecf0f60f0e4.zip |
Run gleam fix, make bit_array module
Diffstat (limited to 'test')
-rw-r--r-- | test/gleam/bit_array_test.gleam | 135 | ||||
-rw-r--r-- | test/gleam/string_test.gleam | 2 |
2 files changed, 136 insertions, 1 deletions
diff --git a/test/gleam/bit_array_test.gleam b/test/gleam/bit_array_test.gleam new file mode 100644 index 0000000..65a8009 --- /dev/null +++ b/test/gleam/bit_array_test.gleam @@ -0,0 +1,135 @@ +import gleam/bit_array +import gleam/should + +pub fn byte_size_test() { + bit_array.byte_size(bit_array.from_string("hello")) + |> should.equal(5) + + bit_array.byte_size(bit_array.from_string("")) + |> should.equal(0) +} + +pub fn not_equal_test() { + bit_array.from_string("test") + |> should.not_equal(bit_array.from_string("asdf")) +} + +pub fn append_test() { + bit_array.from_string("Test") + |> bit_array.append(bit_array.from_string(" Me")) + |> should.equal(bit_array.from_string("Test Me")) + + <<1, 2>> + |> bit_array.append(<<>>) + |> should.equal(<<1, 2>>) + + <<1, 2>> + |> bit_array.append(<<3, 4>>) + |> should.equal(<<1, 2, 3, 4>>) +} + +@target(erlang) +pub fn append_erlang_only_test() { + <<1, 2:4>> + |> bit_array.append(<<3>>) + |> should.equal(<<1, 2:4, 3>>) +} + +pub fn concat_test() { + [<<1, 2>>] + |> bit_array.concat + |> should.equal(<<1, 2>>) + + [<<1, 2>>, <<3>>, <<4>>] + |> bit_array.concat + |> should.equal(<<1, 2, 3, 4>>) +} + +@target(erlang) +pub fn concat_erlang_only_test() { + [<<1, 2:4>>, <<3>>] + |> bit_array.concat + |> should.equal(<<1, 2:4, 3>>) +} + +pub fn slice_test() { + <<"hello":utf8>> + |> bit_array.slice(0, 5) + |> should.equal(Ok(<<"hello":utf8>>)) + + <<"hello":utf8>> + |> bit_array.slice(0, 0) + |> should.equal(Ok(<<"":utf8>>)) + + <<"hello":utf8>> + |> bit_array.slice(2, 2) + |> should.equal(Ok(<<"ll":utf8>>)) + + <<"hello":utf8>> + |> bit_array.slice(5, -2) + |> should.equal(Ok(<<"lo":utf8>>)) + + <<"":utf8>> + |> bit_array.slice(0, 0) + |> should.equal(Ok(<<"":utf8>>)) + + <<"hello":utf8>> + |> bit_array.slice(6, 0) + |> should.equal(Error(Nil)) + + <<"hello":utf8>> + |> bit_array.slice(1, -2) + |> should.equal(Error(Nil)) + + bit_array.from_string("hello") + |> bit_array.slice(-1, 1) + |> should.equal(Error(Nil)) + + bit_array.from_string("hello") + |> bit_array.slice(1, 6) + |> should.equal(Error(Nil)) +} + +pub fn to_string_test() { + <<>> + |> bit_array.to_string + |> should.equal(Ok("")) + + <<"":utf8>> + |> bit_array.to_string + |> should.equal(Ok("")) + + <<"Hello":utf8>> + |> bit_array.to_string + |> should.equal(Ok("Hello")) + + <<"ø":utf8>> + |> bit_array.to_string + |> should.equal(Ok("ø")) + + <<65_535>> + |> bit_array.to_string + |> should.equal(Error(Nil)) +} + +pub fn is_utf8_test() { + <<>> + |> bit_array.is_utf8 + |> should.be_true + + <<"":utf8>> + |> bit_array.is_utf8 + |> should.be_true + + <<"Hello":utf8>> + |> bit_array.is_utf8 + |> should.be_true + + <<"ø":utf8>> + |> bit_array.is_utf8 + |> should.be_true + + <<65_535>> + |> bit_array.is_utf8 + |> should.be_false +} diff --git a/test/gleam/string_test.gleam b/test/gleam/string_test.gleam index 88eb39b..f4ff645 100644 --- a/test/gleam/string_test.gleam +++ b/test/gleam/string_test.gleam @@ -917,7 +917,7 @@ pub fn target_inspect_test() { @target(erlang) import gleam/regex @target(erlang) -import gleam/dynamic.{Dynamic} +import gleam/dynamic.{type Dynamic} // Test inspect on Erlang atoms valid and invalid in Gleam |