summaryrefslogtreecommitdiffhomepage
path: root/tests/test-base64.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-base64.cpp')
-rw-r--r--tests/test-base64.cpp25
1 files changed, 24 insertions, 1 deletions
diff --git a/tests/test-base64.cpp b/tests/test-base64.cpp
index 03648d4..5b7644e 100644
--- a/tests/test-base64.cpp
+++ b/tests/test-base64.cpp
@@ -1,6 +1,6 @@
#include <gtest/gtest.h>
-#include "file.h"
+#include "base64.h"
class Base64Test: public ::testing::Test
{
@@ -21,3 +21,26 @@ protected:
};
+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_");});
+}