aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2023-10-26 12:13:33 +0100
committerLouis Pilfold <louis@lpil.uk>2023-10-26 12:24:40 +0100
commit82c7406c84e90c1dadb85fc65925565812dd28ae (patch)
treee11d97e64637464610c0c9cd2c845dd5ba97a1c1 /test
parent368252c059ffd951958664013001b4037d6b8953 (diff)
downloadgleam_stdlib-82c7406c84e90c1dadb85fc65925565812dd28ae.tar.gz
gleam_stdlib-82c7406c84e90c1dadb85fc65925565812dd28ae.zip
Deprecate gleam/base
Diffstat (limited to 'test')
-rw-r--r--test/gleam/bit_array_test.gleam86
1 files changed, 86 insertions, 0 deletions
diff --git a/test/gleam/bit_array_test.gleam b/test/gleam/bit_array_test.gleam
index 65a8009..7095205 100644
--- a/test/gleam/bit_array_test.gleam
+++ b/test/gleam/bit_array_test.gleam
@@ -133,3 +133,89 @@ pub fn is_utf8_test() {
|> bit_array.is_utf8
|> should.be_false
}
+
+pub fn base64_encode_test() {
+ <<255, 127, 254, 252>>
+ |> bit_array.base64_encode(True)
+ |> should.equal("/3/+/A==")
+
+ <<255, 127, 254, 252>>
+ |> bit_array.base64_encode(False)
+ |> should.equal("/3/+/A")
+
+ <<0, 0, 0>>
+ |> bit_array.base64_encode(True)
+ |> should.equal("AAAA")
+
+ <<>>
+ |> bit_array.base64_encode(True)
+ |> should.equal("")
+}
+
+pub fn base64_decode_test() {
+ "/3/+/A=="
+ |> bit_array.base64_decode()
+ |> should.equal(Ok(<<255, 127, 254, 252>>))
+
+ "/3/+/A"
+ |> bit_array.base64_decode()
+ |> should.equal(Ok(<<255, 127, 254, 252>>))
+
+ "AAAA"
+ |> bit_array.base64_decode()
+ |> should.equal(Ok(<<0, 0, 0>>))
+
+ ""
+ |> bit_array.base64_decode()
+ |> should.equal(Ok(<<>>))
+
+ ")!"
+ |> bit_array.base64_decode()
+ |> should.equal(Error(Nil))
+}
+
+pub fn base64_url_encode_test() {
+ <<255, 127, 254, 252>>
+ |> bit_array.base64_url_encode(True)
+ |> should.equal("_3_-_A==")
+
+ <<255, 127, 254, 252>>
+ |> bit_array.base64_url_encode(False)
+ |> should.equal("_3_-_A")
+
+ <<0, 0, 0>>
+ |> bit_array.base64_url_encode(True)
+ |> should.equal("AAAA")
+
+ <<>>
+ |> bit_array.base64_url_encode(True)
+ |> should.equal("")
+}
+
+pub fn base64_url_decode_test() {
+ "_3_-_A=="
+ |> bit_array.base64_url_decode()
+ |> should.equal(Ok(<<255, 127, 254, 252>>))
+
+ "_3_-_A"
+ |> bit_array.base64_url_decode()
+ |> should.equal(Ok(<<255, 127, 254, 252>>))
+
+ "AAAA"
+ |> bit_array.base64_url_decode()
+ |> should.equal(Ok(<<0, 0, 0>>))
+
+ ""
+ |> bit_array.base64_url_decode()
+ |> should.equal(Ok(<<>>))
+
+ ")!"
+ |> bit_array.base64_url_decode()
+ |> should.equal(Error(Nil))
+}
+
+pub fn decode64_crash_regression_1_test() {
+ "aGktdGhlcmU.uWUWvrAleKQ2jsWcU97H-RPJ5qRRcE_s"
+ |> bit_array.base64_decode()
+ |> should.equal(Error(Nil))
+}