Mercurial > hg > orthanc
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(); |