Files
Odin/tests/core/encoding/base64/base64.odin
Jeroen van Rijn a27b167218 Update tests\core\encoding\cbor to use new test runner.
It was leaky and required a substantial number of `loc := #caller_location` additions to parts of the core library to make it easier to track down how and where it leaked.

The tests now run fine multi-threaded.
2024-06-02 14:47:07 -04:00

39 lines
697 B
Odin

package test_encoding_base64
import "base:intrinsics"
import "core:encoding/base64"
import "core:testing"
Test :: struct {
vector: string,
base64: string,
}
tests :: []Test{
{"", ""},
{"f", "Zg=="},
{"fo", "Zm8="},
{"foo", "Zm9v"},
{"foob", "Zm9vYg=="},
{"fooba", "Zm9vYmE="},
{"foobar", "Zm9vYmFy"},
}
@(test)
test_encoding :: proc(t: ^testing.T) {
for test in tests {
v := base64.encode(transmute([]byte)test.vector)
defer delete(v)
testing.expect_value(t, v, test.base64)
}
}
@(test)
test_decoding :: proc(t: ^testing.T) {
for test in tests {
v := string(base64.decode(test.base64))
defer delete(v)
testing.expect_value(t, v, test.vector)
}
}