1 extern "C" {
2 #include "base64.h"
3 }
4
5 #include "gtest/gtest.h"
6 #include "gmock/gmock.h"
7
TEST(Base64Encode,Good)8 TEST(Base64Encode, Good)
9 {
10 int32_t encoded_len = 0;
11 std::array<uint8_t, 1> data = { 'f' };
12 char *encoded = base64_encode(data.data(), data.size(), &encoded_len);
13 EXPECT_EQ(encoded_len, 4);
14 ASSERT_EQ(std::string_view(encoded, encoded_len), "Zg==");
15 free(encoded);
16 }
17
TEST(Base64Decode,Good)18 TEST(Base64Decode, Good)
19 {
20 int32_t decoded_len = 0;
21 std::string_view data{ "Zg==" };
22 UINT8 *decoded = base64_decode(data.data(), data.size(), &decoded_len);
23 EXPECT_EQ(decoded_len, 1);
24 ASSERT_EQ(decoded[0], 'f');
25 free(decoded);
26 }
27