base64.odin 697 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package test_encoding_base64
  2. import "base:intrinsics"
  3. import "core:encoding/base64"
  4. import "core:testing"
  5. Test :: struct {
  6. vector: string,
  7. base64: string,
  8. }
  9. tests :: []Test{
  10. {"", ""},
  11. {"f", "Zg=="},
  12. {"fo", "Zm8="},
  13. {"foo", "Zm9v"},
  14. {"foob", "Zm9vYg=="},
  15. {"fooba", "Zm9vYmE="},
  16. {"foobar", "Zm9vYmFy"},
  17. }
  18. @(test)
  19. test_encoding :: proc(t: ^testing.T) {
  20. for test in tests {
  21. v := base64.encode(transmute([]byte)test.vector)
  22. defer delete(v)
  23. testing.expect_value(t, v, test.base64)
  24. }
  25. }
  26. @(test)
  27. test_decoding :: proc(t: ^testing.T) {
  28. for test in tests {
  29. v := string(base64.decode(test.base64))
  30. defer delete(v)
  31. testing.expect_value(t, v, test.vector)
  32. }
  33. }