blob: b762b8e3c23a541481545e8ce58884e9acfe55d0 [file] [log] [blame]
Ed Tanousa7d2cdd2024-07-15 11:07:27 -07001extern "C" {
2#include "base64.h"
3}
4
5#include "gtest/gtest.h"
6#include "gmock/gmock.h"
7
8TEST(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
18TEST(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}