diff options
author | bvdvlg <bvdvlg@yandex-team.com> | 2024-06-20 10:36:59 +0300 |
---|---|---|
committer | bvdvlg <bvdvlg@yandex-team.com> | 2024-06-20 10:49:09 +0300 |
commit | d21e541fb10f20b63b156d0a457153c4287112c8 (patch) | |
tree | 0c204849e305e923866440453e910d3514ea95e7 /library/cpp/string_utils/base64/base64_ut.cpp | |
parent | 515aa2dfa47824063f196b1af06264a0f393d8d5 (diff) | |
download | ydb-d21e541fb10f20b63b156d0a457153c4287112c8.tar.gz |
Add Base64EncodeNoPadding Method
23b4ac85c9195fa9b0e7b0624cc3a61d010745be
Diffstat (limited to 'library/cpp/string_utils/base64/base64_ut.cpp')
-rw-r--r-- | library/cpp/string_utils/base64/base64_ut.cpp | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/library/cpp/string_utils/base64/base64_ut.cpp b/library/cpp/string_utils/base64/base64_ut.cpp index 83775f072c..f10afa9747 100644 --- a/library/cpp/string_utils/base64/base64_ut.cpp +++ b/library/cpp/string_utils/base64/base64_ut.cpp @@ -163,7 +163,7 @@ void Out<NB64Etalon::TImpls::EImpl>(IOutputStream& o, typename TTypeTraits<NB64E } } -static void TestEncodeDecodeIntoString(const TString& plain, const TString& encoded, const TString& encodedUrl, const TString& encodedUrlNoPadding) { +static void TestEncodeDecodeIntoString(const TString& plain, const TString& encoded, const TString& encodedUrl, const TString& encodedNoPadding, const TString& encodedUrlNoPadding) { TString a, b; Base64Encode(plain, a); @@ -178,11 +178,17 @@ static void TestEncodeDecodeIntoString(const TString& plain, const TString& enco Base64Decode(a, b); UNIT_ASSERT_VALUES_EQUAL(b, plain); - Base64EncodeUrlNoPadding(plain, a); - UNIT_ASSERT_VALUES_EQUAL(a, encodedUrlNoPadding); + Base64EncodeNoPadding(plain, a); + UNIT_ASSERT_VALUES_EQUAL(a, encodedNoPadding); TString c = Base64DecodeUneven(a); UNIT_ASSERT_VALUES_EQUAL(c, plain); + + Base64EncodeUrlNoPadding(plain, a); + UNIT_ASSERT_VALUES_EQUAL(a, encodedUrlNoPadding); + + TString d = Base64DecodeUneven(a); + UNIT_ASSERT_VALUES_EQUAL(d, plain); } static void TestEncodeStrictDecodeIntoString(const TString& plain, const TString& encoded, const TString& encodedUrl) { @@ -231,6 +237,14 @@ Y_UNIT_TEST_SUITE(TBase64) { "oqOkpaanqKmqq6ytrq-wsbKztLW2t7i5uru8vb6_wMHCw8TFxsfIyc" "rLzM3Oz9DR0tPU1dbX2Nna29zd3t_g4eLj5OXm5-jp6uvs7e7v8PHy" "8_T19vf4-fr7_P3-_w,,"; + const TString base64WithoutPadding = + "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJy" + "gpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9Q" + "UVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eH" + "l6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6Ch" + "oqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIyc" + "rLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy" + "8/T19vf4+fr7/P3+/w"; const TString base64UrlWithoutPadding = "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJy" "gpKissLS4vMDEyMzQ1Njc4OTo7PD0-P0BBQkNERUZHSElKS0xNTk9Q" @@ -240,7 +254,7 @@ Y_UNIT_TEST_SUITE(TBase64) { "rLzM3Oz9DR0tPU1dbX2Nna29zd3t_g4eLj5OXm5-jp6uvs7e7v8PHy" "8_T19vf4-fr7_P3-_w"; - TestEncodeDecodeIntoString(str, base64, base64Url, base64UrlWithoutPadding); + TestEncodeDecodeIntoString(str, base64, base64Url, base64WithoutPadding, base64UrlWithoutPadding); TestEncodeStrictDecodeIntoString(str, base64, base64Url); } @@ -249,9 +263,10 @@ Y_UNIT_TEST_SUITE(TBase64) { const TString base64 = "aHR0cDovL3lhbmRleC5ydToxMjM0L3JlcXVlc3Q/cGFyYW09dmFsdWUmbGxsPWZmZiNmcmFnbWVudA=="; const TString base64Url = "aHR0cDovL3lhbmRleC5ydToxMjM0L3JlcXVlc3Q_cGFyYW09dmFsdWUmbGxsPWZmZiNmcmFnbWVudA,,"; + const TString base64WithoutPadding = "aHR0cDovL3lhbmRleC5ydToxMjM0L3JlcXVlc3Q/cGFyYW09dmFsdWUmbGxsPWZmZiNmcmFnbWVudA"; const TString base64UrlWithoutPadding = "aHR0cDovL3lhbmRleC5ydToxMjM0L3JlcXVlc3Q_cGFyYW09dmFsdWUmbGxsPWZmZiNmcmFnbWVudA"; - TestEncodeDecodeIntoString(str, base64, base64Url, base64UrlWithoutPadding); + TestEncodeDecodeIntoString(str, base64, base64Url, base64WithoutPadding, base64UrlWithoutPadding); TestEncodeStrictDecodeIntoString(str, base64, base64Url); } } |