| 29 #include "uri.h" |
29 #include "uri.h" |
| 30 |
30 |
| 31 #include "../util/util.h" |
31 #include "../util/util.h" |
| 32 |
32 |
| 33 |
33 |
| 34 UCX_TEST(test_util_uri_escape_alphanum) { |
34 CX_TEST(test_util_uri_escape_alphanum) { |
| 35 char *str1 = "/test/path/abc/"; |
35 char *str1 = "/test/path/abc/"; |
| 36 char str_enc[512]; |
36 char str_enc[512]; |
| 37 |
37 |
| 38 UCX_TEST_BEGIN; |
38 CX_TEST_DO { |
| 39 |
39 |
| 40 char *test = util_uri_escape(str_enc, str1); |
40 char *test = util_uri_escape(str_enc, str1); |
| 41 UCX_TEST_ASSERT(test, "util_uri_escape returned NULL"); |
41 CX_TEST_ASSERT(test); |
| 42 UCX_TEST_ASSERT(!strcasecmp(test, str1), "test != str1"); |
42 CX_TEST_ASSERT(!strcasecmp(test, str1)); |
| 43 |
43 |
| 44 UCX_TEST_END; |
44 } |
| 45 } |
45 } |
| 46 |
46 |
| 47 UCX_TEST(test_util_uri_escape_space) { |
47 CX_TEST(test_util_uri_escape_space) { |
| 48 char *str1 = "/test/space in path/"; |
48 char *str1 = "/test/space in path/"; |
| 49 char *str_enc_expected = "/test/space%20in%20path/"; |
49 char *str_enc_expected = "/test/space%20in%20path/"; |
| 50 char str_enc[512]; |
50 char str_enc[512]; |
| 51 |
51 |
| 52 UCX_TEST_BEGIN; |
52 CX_TEST_DO { |
| 53 |
53 |
| 54 char *test = util_uri_escape(str_enc, str1); |
54 char *test = util_uri_escape(str_enc, str1); |
| 55 UCX_TEST_ASSERT(test, "util_uri_escape returned NULL"); |
55 CX_TEST_ASSERT(test); |
| 56 UCX_TEST_ASSERT(!strcasecmp(test, str_enc_expected), "unexpected result"); |
56 CX_TEST_ASSERT(!strcasecmp(test, str_enc_expected)); |
| 57 |
57 |
| 58 UCX_TEST_END; |
58 } |
| 59 } |
59 } |
| 60 |
60 |
| 61 UCX_TEST(test_util_uri_escape_latin) { |
61 CX_TEST(test_util_uri_escape_latin) { |
| 62 char *str1 = "/test/path/öäütestß/"; |
62 char *str1 = "/test/path/öäütestß/"; |
| 63 char *str_enc_expected = "/test/path/%C3%B6%C3%A4%C3%BCtest%C3%9F/"; |
63 char *str_enc_expected = "/test/path/%C3%B6%C3%A4%C3%BCtest%C3%9F/"; |
| 64 |
64 |
| 65 char *str2 = "€"; |
65 char *str2 = "€"; |
| 66 char *str2_enc_expected = "%E2%82%AC"; |
66 char *str2_enc_expected = "%E2%82%AC"; |
| 67 |
67 |
| 68 char str_enc[512]; |
68 char str_enc[512]; |
| 69 |
69 |
| 70 UCX_TEST_BEGIN; |
70 CX_TEST_DO { |
| 71 |
71 |
| 72 // test 1 |
72 // test 1 |
| 73 char *test = util_uri_escape(str_enc, str1); |
73 char *test = util_uri_escape(str_enc, str1); |
| 74 UCX_TEST_ASSERT(test, "util_uri_escape returned NULL"); |
74 CX_TEST_ASSERT(test); |
| 75 UCX_TEST_ASSERT(!strcasecmp(test, str_enc_expected), "unexpected result"); |
75 CX_TEST_ASSERT(!strcasecmp(test, str_enc_expected)); |
| |
76 |
| |
77 // test 2 |
| |
78 test = util_uri_escape(str_enc, str2); |
| |
79 CX_TEST_ASSERT(test); |
| |
80 CX_TEST_ASSERT(!strcasecmp(test, str2_enc_expected)); |
| 76 |
81 |
| 77 // test 2 |
82 } |
| 78 test = util_uri_escape(str_enc, str2); |
|
| 79 UCX_TEST_ASSERT(test, "(2) util_uri_escape returned NULL"); |
|
| 80 UCX_TEST_ASSERT(!strcasecmp(test, str2_enc_expected), "(2) unexpected result"); |
|
| 81 |
|
| 82 UCX_TEST_END; |
|
| 83 } |
83 } |
| 84 |
84 |
| 85 UCX_TEST(test_util_uri_escape_kanji) { |
85 CX_TEST(test_util_uri_escape_kanji) { |
| 86 char *str1 = "漢字"; |
86 char *str1 = "漢字"; |
| 87 char *str1_enc_expected = "%E6%BC%A2%E5%AD%97"; |
87 char *str1_enc_expected = "%E6%BC%A2%E5%AD%97"; |
| 88 |
88 |
| 89 char *str2 = "/test/エンコーディング/漢字/"; |
89 char *str2 = "/test/エンコーディング/漢字/"; |
| 90 char *str2_enc_expected = "/test/%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0/%E6%BC%A2%E5%AD%97/"; |
90 char *str2_enc_expected = "/test/%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0/%E6%BC%A2%E5%AD%97/"; |
| 91 |
91 |
| 92 char str_enc[512]; |
92 char str_enc[512]; |
| 93 |
93 |
| 94 UCX_TEST_BEGIN; |
94 CX_TEST_DO { |
| 95 |
95 |
| 96 // test 1 |
96 // test 1 |
| 97 char *test = util_uri_escape(str_enc, str1); |
97 char *test = util_uri_escape(str_enc, str1); |
| 98 UCX_TEST_ASSERT(test, "util_uri_escape returned NULL"); |
98 CX_TEST_ASSERT(test); |
| 99 UCX_TEST_ASSERT(!strcasecmp(test, str1_enc_expected), "unexpected result"); |
99 CX_TEST_ASSERT(!strcasecmp(test, str1_enc_expected)); |
| |
100 |
| |
101 // test 2 |
| |
102 test = util_uri_escape(str_enc, str2); |
| |
103 CX_TEST_ASSERT(test); |
| |
104 CX_TEST_ASSERT(!strcasecmp(test, str2_enc_expected)); |
| 100 |
105 |
| 101 // test 2 |
106 } |
| 102 test = util_uri_escape(str_enc, str2); |
|
| 103 UCX_TEST_ASSERT(test, "(2) util_uri_escape returned NULL"); |
|
| 104 UCX_TEST_ASSERT(!strcasecmp(test, str2_enc_expected), "(2) unexpected result"); |
|
| 105 |
|
| 106 UCX_TEST_END; |
|
| 107 } |
107 } |
| 108 |
108 |