46 unescaped_str =
xstrdup(
"%2Fdata%2Fsource%2Fpath");
48 CPPUNIT_ASSERT(memcmp(unescaped_str,
"/data/source/path",18)==0);
52 unescaped_str =
xstrdup(
"http://foo.invalid%2Fdata%2Fsource%2Fpath");
54 CPPUNIT_ASSERT(memcmp(unescaped_str,
"http://foo.invalid/data/source/path",36)==0);
60 unescaped_str =
xstrdup(
"w%0Ard");
62 CPPUNIT_ASSERT(memcmp(unescaped_str,
"w\nrd",5)==0);
66 unescaped_str =
xstrdup(
"w%rd");
68 CPPUNIT_ASSERT(memcmp(unescaped_str,
"w%rd",5)==0);
72 unescaped_str =
xstrdup(
"w%%rd");
74 CPPUNIT_ASSERT(memcmp(unescaped_str,
"w%rd",5)==0);
78 unescaped_str =
xstrdup(
"w%%%rd");
80 CPPUNIT_ASSERT(memcmp(unescaped_str,
"w%%rd",6)==0);
84 unescaped_str =
xstrdup(
"Bad String %1");
86 CPPUNIT_ASSERT(memcmp(unescaped_str,
"Bad String %1",14)==0);
90 unescaped_str =
xstrdup(
"Bad String %1A%3");
92 CPPUNIT_ASSERT(memcmp(unescaped_str,
"Bad String \032%3",15)==0);
96 unescaped_str =
xstrdup(
"Good String %1A");
98 CPPUNIT_ASSERT(memcmp(unescaped_str,
"Good String \032",14)==0);
118 CPPUNIT_ASSERT(memcmp(result,
"http://foo.invalid/data/source/path",36)==0);
121 result =
rfc1738_do_escape(
"################ ################ ################ ################ ################ ################ ################ ################",
RFC1738_ESCAPE_UNSAFE);
122 CPPUNIT_ASSERT(memcmp(result,
"%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%20%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%20%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%20%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%20%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%20%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%20%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%20%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23",406)==0);
128 CPPUNIT_ASSERT(memcmp(result,
"http%3A%2F%2Ffoo.invalid%2Fdata%2Fsource%2Fpath",48)==0);
132 CPPUNIT_ASSERT(memcmp(result,
"%2Fdata%2Fsource%2Fpath",24)==0);
138 CPPUNIT_ASSERT(memcmp(result,
"http://foo.invalid/data%2Fsource%5B%5D",39)==0);
142 CPPUNIT_ASSERT(memcmp(result,
"http://foo.invalid/data%2Fsource%FF%FF",39)==0);