#include #include "base64.h" class Base64Test: public ::testing::Test { protected: Base64Test(){ } ~Base64Test() override{ } void SetUp() override { } void TearDown() override { } }; TEST_F(Base64Test, encode) { EXPECT_EQ(Reichwein::Base64::encode64(""), ""); EXPECT_EQ(Reichwein::Base64::encode64("a"), "YQ=="); EXPECT_EQ(Reichwein::Base64::encode64("ab"), "YWI="); EXPECT_EQ(Reichwein::Base64::encode64("abc"), "YWJj"); EXPECT_EQ(Reichwein::Base64::encode64("abcd"), "YWJjZA=="); } TEST_F(Base64Test, decode) { EXPECT_EQ(Reichwein::Base64::decode64(""), ""); EXPECT_EQ(Reichwein::Base64::decode64("YQ=="), "a"); EXPECT_EQ(Reichwein::Base64::decode64("YQ"), "a"); // unpadded is accepted here EXPECT_EQ(Reichwein::Base64::decode64("YWI="), "ab"); EXPECT_EQ(Reichwein::Base64::decode64("YWI"), "ab"); EXPECT_EQ(Reichwein::Base64::decode64("YWJj"), "abc"); EXPECT_EQ(Reichwein::Base64::decode64("YWJjZA=="), "abcd"); EXPECT_EQ(Reichwein::Base64::decode64("YWJjZA="), "abcd"); EXPECT_EQ(Reichwein::Base64::decode64("YWJjZA"), "abcd"); EXPECT_ANY_THROW({Reichwein::Base64::decode64("_");}); EXPECT_ANY_THROW({Reichwein::Base64::decode64("abc_");}); }