diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2009-07-25 15:45:50 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2009-07-25 15:45:50 +0000 |
commit | d398997c9328e1a32bb37084f8c45fee6a2557ee (patch) | |
tree | b4fd3fd8d6fbd84ad730e93f089dd3ceba549ef8 /test | |
parent | f27eb11e3f225d71d6fba59e3ca31cd68e420238 (diff) | |
download | libwapcaplet-d398997c9328e1a32bb37084f8c45fee6a2557ee.tar.gz libwapcaplet-d398997c9328e1a32bb37084f8c45fee6a2557ee.tar.bz2 |
Guarantee to NUL-terminate interned strings.
svn path=/trunk/libwapcaplet/; revision=8784
Diffstat (limited to 'test')
-rw-r--r-- | test/basictests.c | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/test/basictests.c b/test/basictests.c index 80d3d38..290a56c 100644 --- a/test/basictests.c +++ b/test/basictests.c @@ -176,7 +176,7 @@ END_TEST START_TEST (test_lwc_string_hash_value_aborts) { - lwc_string_hash_value(NULL); + lwc_string_hash_value(NULL); } END_TEST @@ -389,7 +389,35 @@ END_TEST START_TEST (test_lwc_string_hash_value_ok) { - lwc_string_hash_value(intern_one); + lwc_string_hash_value(intern_one); +} +END_TEST + +START_TEST (test_lwc_string_is_nul_terminated) +{ + lwc_string *new_ONE; + + fail_unless(lwc_context_intern(shared_ctx, "ONE", 3, &new_ONE) == lwc_error_ok, + "Failure interning 'ONE'"); + + fail_unless(lwc_string_data(new_ONE)[lwc_string_length(new_ONE)] == '\0', + "Interned string isn't NUL terminated"); +} +END_TEST + +START_TEST (test_lwc_substring_is_nul_terminated) +{ + lwc_string *new_ONE; + lwc_string *new_O; + + fail_unless(lwc_context_intern(shared_ctx, "ONE", 3, &new_ONE) == lwc_error_ok, + "Failure interning 'ONE'"); + + fail_unless(lwc_context_intern_substring(shared_ctx, new_ONE, 0, 1, &new_O) == lwc_error_ok, + "Failure interning substring 'O'"); + + fail_unless(lwc_string_data(new_O)[lwc_string_length(new_O)] == '\0', + "Interned substring isn't NUL terminated"); } END_TEST @@ -487,6 +515,8 @@ lwc_basic_suite(SRunner *sr) tcase_add_test(tc_basic, test_lwc_context_string_caseless_isequal_ok); tcase_add_test(tc_basic, test_lwc_extract_data_ok); tcase_add_test(tc_basic, test_lwc_string_hash_value_ok); + tcase_add_test(tc_basic, test_lwc_string_is_nul_terminated); + tcase_add_test(tc_basic, test_lwc_substring_is_nul_terminated); suite_add_tcase(s, tc_basic); srunner_add_suite(sr, s); |