diff options
Diffstat (limited to 'src/tests')
-rw-r--r-- | src/tests/settings_test.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/tests/settings_test.c b/src/tests/settings_test.c index f7fb35d0..89203d42 100644 --- a/src/tests/settings_test.c +++ b/src/tests/settings_test.c @@ -166,6 +166,12 @@ static struct setting test_string_setting = { .type = &setting_type_string, }; +/** Test URI-encoded string setting */ +static struct setting test_uristring_setting = { + .name = "test_uristring", + .type = &setting_type_uristring, +}; + /** Test IPv4 address setting type */ static struct setting test_ipv4_setting = { .name = "test_ipv4", @@ -265,6 +271,16 @@ static void settings_test_exec ( void ) { fetchf_ok ( &test_settings, &test_string_setting, RAW ( 'w', 'o', 'r', 'l', 'd' ), "world" ); + /* "uristring" setting type */ + storef_ok ( &test_settings, &test_uristring_setting, "hello%20world", + RAW ( 'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', + 'd' ) ); + fetchf_ok ( &test_settings, &test_uristring_setting, + RAW ( 1, 2, 3, 4, 5 ), "%01%02%03%04%05" ); + fetchf_ok ( &test_settings, &test_uristring_setting, + RAW ( 0, ' ', '%', '/', '#', ':', '@', '?', '=', '&' ), + "%00%20%25%2F%23%3A%40%3F%3D%26" ); + /* "ipv4" setting type */ storef_ok ( &test_settings, &test_ipv4_setting, "192.168.0.1", RAW ( 192, 168, 0, 1 ) ); |