diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2021-07-17 07:11:12 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2021-07-17 07:11:12 +0000 |
commit | b72837827d9290c7ec50b9e4b9e1a0f194ddccca (patch) | |
tree | 8df663325413d0f92086d740638555de6b779df7 /include/dnsjit/test/test_base64url.lua | |
parent | Adding upstream version 1.1.0+debian. (diff) | |
download | dnsjit-be78963741e5f69dc1ef588ab7370152b98ef8bc.tar.xz dnsjit-be78963741e5f69dc1ef588ab7370152b98ef8bc.zip |
Adding upstream version 1.2.1.upstream/1.2.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'include/dnsjit/test/test_base64url.lua')
-rw-r--r-- | include/dnsjit/test/test_base64url.lua | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/include/dnsjit/test/test_base64url.lua b/include/dnsjit/test/test_base64url.lua new file mode 100644 index 0000000..00aea6a --- /dev/null +++ b/include/dnsjit/test/test_base64url.lua @@ -0,0 +1,24 @@ +base64url = require("dnsjit.lib.base64url") +ffi = require("ffi") + +-- empty string works +assert(base64url.decode(base64url.encode("")) == "") + +-- regular string data +assert(base64url.encode("abcd") == "YWJjZA") +assert(base64url.decode(base64url.encode("abcd")) == "abcd") + +-- invalid base64 data +base64url.decode("+") + +-- check all symbols - arbitrary binary data +c_array = ffi.new("uint8_t[?]", 256) +bin_symbols = {} +for i = 0, 255 do + bin_symbols[i + 1] = string.char(i) + c_array[i] = i +end +bin_str = table.concat(bin_symbols) + +assert(base64url.decode(base64url.encode(bin_str)) == bin_str) +assert(base64url.encode(c_array, 256) == base64url.encode(bin_str)) |