diff options
Diffstat (limited to 'xbmc/utils/test/TestBase64.cpp')
| -rw-r--r-- | xbmc/utils/test/TestBase64.cpp | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/xbmc/utils/test/TestBase64.cpp b/xbmc/utils/test/TestBase64.cpp new file mode 100644 index 0000000..8416378 --- /dev/null +++ b/xbmc/utils/test/TestBase64.cpp | |||
| @@ -0,0 +1,77 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 2005-2018 Team Kodi | ||
| 3 | * This file is part of Kodi - https://kodi.tv | ||
| 4 | * | ||
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 7 | */ | ||
| 8 | |||
| 9 | #include "utils/Base64.h" | ||
| 10 | |||
| 11 | #include <gtest/gtest.h> | ||
| 12 | |||
| 13 | static const char refdata[] = "\x01\x02\x03\x04\x05\x06\x07\x08" | ||
| 14 | "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10" | ||
| 15 | "\x11\x12\x13\x14\x15\x16\x17\x18" | ||
| 16 | "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20" | ||
| 17 | "\x21\x22\x23\x24\x25\x26\x27\x28" | ||
| 18 | "\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30"; | ||
| 19 | |||
| 20 | static const char refbase64data[] = "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY" | ||
| 21 | "GRobHB0eHyAhIiMkJSYnKCkqKywtLi8w"; | ||
| 22 | |||
| 23 | TEST(TestBase64, Encode_1) | ||
| 24 | { | ||
| 25 | std::string a; | ||
| 26 | Base64::Encode(refdata, sizeof(refdata) - 1, a); | ||
| 27 | EXPECT_STREQ(refbase64data, a.c_str()); | ||
| 28 | } | ||
| 29 | |||
| 30 | TEST(TestBase64, Encode_2) | ||
| 31 | { | ||
| 32 | std::string a; | ||
| 33 | a = Base64::Encode(refdata, sizeof(refdata) - 1); | ||
| 34 | EXPECT_STREQ(refbase64data, a.c_str()); | ||
| 35 | } | ||
| 36 | |||
| 37 | TEST(TestBase64, Encode_3) | ||
| 38 | { | ||
| 39 | std::string a; | ||
| 40 | Base64::Encode(refdata, a); | ||
| 41 | EXPECT_STREQ(refbase64data, a.c_str()); | ||
| 42 | } | ||
| 43 | |||
| 44 | TEST(TestBase64, Encode_4) | ||
| 45 | { | ||
| 46 | std::string a; | ||
| 47 | a = Base64::Encode(refdata); | ||
| 48 | EXPECT_STREQ(refbase64data, a.c_str()); | ||
| 49 | } | ||
| 50 | |||
| 51 | TEST(TestBase64, Decode_1) | ||
| 52 | { | ||
| 53 | std::string a; | ||
| 54 | Base64::Decode(refbase64data, sizeof(refbase64data) - 1, a); | ||
| 55 | EXPECT_STREQ(refdata, a.c_str()); | ||
| 56 | } | ||
| 57 | |||
| 58 | TEST(TestBase64, Decode_2) | ||
| 59 | { | ||
| 60 | std::string a; | ||
| 61 | a = Base64::Decode(refbase64data, sizeof(refbase64data) - 1); | ||
| 62 | EXPECT_STREQ(refdata, a.c_str()); | ||
| 63 | } | ||
| 64 | |||
| 65 | TEST(TestBase64, Decode_3) | ||
| 66 | { | ||
| 67 | std::string a; | ||
| 68 | Base64::Decode(refbase64data, a); | ||
| 69 | EXPECT_STREQ(refdata, a.c_str()); | ||
| 70 | } | ||
| 71 | |||
| 72 | TEST(TestBase64, Decode_4) | ||
| 73 | { | ||
| 74 | std::string a; | ||
| 75 | a = Base64::Decode(refbase64data); | ||
| 76 | EXPECT_STREQ(refdata, a.c_str()); | ||
| 77 | } | ||
