aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2023-10-19 21:47:19 +0100
committerLouis Pilfold <louis@lpil.uk>2023-10-26 12:24:40 +0100
commitb713e6fd185ad8b4da90f4b686aa9ecf0f60f0e4 (patch)
tree65e58212b32e5d2e6bbff81aaa050aacb82bb357 /test
parentb181a406b5bc4e1855a1455b9d603d30320f1b54 (diff)
downloadgleam_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.gleam135
-rw-r--r--test/gleam/string_test.gleam2
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