comparison UnitTestsSources/UnitTestsMain.cpp @ 2043:35ccba7adae9

Toolbox::UriEncode
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 23 Jun 2016 10:08:27 +0200
parents 08ce34cfacad
children 27fd34970c52
comparison
equal deleted inserted replaced
2042:5b93382f88e1 2043:35ccba7adae9
924 ASSERT_TRUE(Toolbox::StartsWith("h", "h")); 924 ASSERT_TRUE(Toolbox::StartsWith("h", "h"));
925 ASSERT_FALSE(Toolbox::StartsWith("", "h")); 925 ASSERT_FALSE(Toolbox::StartsWith("", "h"));
926 } 926 }
927 927
928 928
929 TEST(Toolbox, UriEncode)
930 {
931 std::string s;
932
933 // Unreserved characters must not be modified
934 std::string t = "aAzZ09.-~_";
935 Toolbox::UriEncode(s, t);
936 ASSERT_EQ(t, s);
937
938 Toolbox::UriEncode(s, "!#$&'()*+,/:;=?@[]"); ASSERT_EQ("%21%23%24%26%27%28%29%2A%2B%2C%2F%3A%3B%3D%3F%40%5B%5D", s);
939 Toolbox::UriEncode(s, "%"); ASSERT_EQ("%25", s);
940
941 // Encode characters from UTF-8. This is the test string from the
942 // file "../Resources/EncodingTests.py"
943 Toolbox::UriEncode(s, "\x54\x65\x73\x74\xc3\xa9\xc3\xa4\xc3\xb6\xc3\xb2\xd0\x94\xce\x98\xc4\x9d\xd7\x93\xd8\xb5\xc4\xb7\xd1\x9b\xe0\xb9\x9b\xef\xbe\x88\xc4\xb0");
944 ASSERT_EQ("Test%C3%A9%C3%A4%C3%B6%C3%B2%D0%94%CE%98%C4%9D%D7%93%D8%B5%C4%B7%D1%9B%E0%B9%9B%EF%BE%88%C4%B0", s);
945 }
946
947
929 int main(int argc, char **argv) 948 int main(int argc, char **argv)
930 { 949 {
931 Logging::Initialize(); 950 Logging::Initialize();
932 Logging::EnableInfoLevel(true); 951 Logging::EnableInfoLevel(true);
933 Toolbox::DetectEndianness(); 952 Toolbox::DetectEndianness();