diff options
author | Richard Viney <richard.viney@gmail.com> | 2024-06-21 17:01:37 +1200 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2024-06-21 10:49:14 +0100 |
commit | 6a6d5adf356993031ab2e79012e436dd2567a2f9 (patch) | |
tree | a1da55c581271e0160b47e3be35211f456719099 /test | |
parent | ddd52834c46a9e8c608cbdc347a71b9ceeb361df (diff) | |
download | gleam_stdlib-6a6d5adf356993031ab2e79012e436dd2567a2f9.tar.gz gleam_stdlib-6a6d5adf356993031ab2e79012e436dd2567a2f9.zip |
Base64 encoding optimisations. Fix encoding of large bit arrays on JS.
This native JS implementation is 13-14x faster in simple benchmarks.
Diffstat (limited to 'test')
-rw-r--r-- | test/gleam/bit_array_test.gleam | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/test/gleam/bit_array_test.gleam b/test/gleam/bit_array_test.gleam index 7c4a5f4..1c3e7db 100644 --- a/test/gleam/bit_array_test.gleam +++ b/test/gleam/bit_array_test.gleam @@ -1,6 +1,7 @@ import gleam/bit_array import gleam/result import gleam/should +import gleam/string pub fn byte_size_test() { bit_array.byte_size(bit_array.from_string("hello")) @@ -145,6 +146,10 @@ pub fn base64_encode_test() { |> bit_array.base64_encode(True) |> should.equal("/3/+/A==") + <<255, 127, 254, 252, 100>> + |> bit_array.base64_encode(True) + |> should.equal("/3/+/GQ=") + <<255, 127, 254, 252>> |> bit_array.base64_encode(False) |> should.equal("/3/+/A") @@ -156,6 +161,12 @@ pub fn base64_encode_test() { <<>> |> bit_array.base64_encode(True) |> should.equal("") + + string.repeat("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", 1024 * 32) + |> bit_array.from_string + |> bit_array.base64_encode(True) + |> string.length + |> should.equal(1_398_104) } pub fn base64_decode_test() { |