diff options
author | Esteban Manchado Velázquez <emanchado@demiurgo.org> | 2012-02-11 01:27:50 +0100 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2012-03-08 20:49:25 -0500 |
commit | 4beebea698fc2bad233d86646014847c2ec9403e (patch) | |
tree | f13d9e80cb2099909404b1c9cc231dd1362392a0 /src | |
parent | 3e4a977781fe0ae85ec9677e9496de5451e5c824 (diff) | |
download | tor-4beebea698fc2bad233d86646014847c2ec9403e.tar.gz tor-4beebea698fc2bad233d86646014847c2ec9403e.zip |
Improve eat_whitespace* unit tests
Diffstat (limited to 'src')
-rw-r--r-- | src/test/test_util.c | 74 |
1 files changed, 48 insertions, 26 deletions
diff --git a/src/test/test_util.c b/src/test/test_util.c index 809039bf32..fe6f4d7e3d 100644 --- a/src/test/test_util.c +++ b/src/test/test_util.c @@ -2240,56 +2240,78 @@ test_util_eat_whitespace(void *ptr) strcpy(str, "fuubaar"); for (i = 0; i < sizeof(ws); ++i) { str[0] = ws[i]; - test_streq(eat_whitespace(str), str + 1); - test_streq(eat_whitespace_eos(str, str + strlen(str)), str + 1); - test_streq(eat_whitespace_eos_no_nl(str, str + strlen(str)), str + 1); - test_streq(eat_whitespace_no_nl(str), str + 1); + test_eq_ptr(str + 1, eat_whitespace(str)); + test_eq_ptr(str + 1, eat_whitespace_eos(str, str + strlen(str))); + test_eq_ptr(str + 1, eat_whitespace_no_nl(str)); + test_eq_ptr(str + 1, eat_whitespace_eos_no_nl(str, str + strlen(str))); } str[0] = '\n'; - test_streq(eat_whitespace(str), str + 1); - test_streq(eat_whitespace_eos(str, str + strlen(str)), str + 1); + test_eq_ptr(str + 1, eat_whitespace(str)); + test_eq_ptr(str + 1, eat_whitespace_eos(str, str + strlen(str))); + test_eq_ptr(str, eat_whitespace_no_nl(str)); + test_eq_ptr(str, eat_whitespace_eos_no_nl(str, str + strlen(str))); /* Empty string */ strcpy(str, ""); - test_eq_ptr(eat_whitespace(str), str); - test_eq_ptr(eat_whitespace_eos(str, str), str); - test_eq_ptr(eat_whitespace_eos_no_nl(str, str), str); - test_eq_ptr(eat_whitespace_no_nl(str), str); + test_eq_ptr(str, eat_whitespace(str)); + test_eq_ptr(str, eat_whitespace_eos(str, str)); + test_eq_ptr(str, eat_whitespace_no_nl(str)); + test_eq_ptr(str, eat_whitespace_eos_no_nl(str, str)); /* Only ws */ strcpy(str, " \t\r\n"); - test_eq_ptr(eat_whitespace(str), str + strlen(str)); - test_eq_ptr(eat_whitespace_eos(str, str + strlen(str)), str + strlen(str)); + test_eq_ptr(str + strlen(str), eat_whitespace(str)); + test_eq_ptr(str + strlen(str), eat_whitespace_eos(str, str + strlen(str))); + test_eq_ptr(str + strlen(str) - 1, + eat_whitespace_no_nl(str)); + test_eq_ptr(str + strlen(str) - 1, + eat_whitespace_eos_no_nl(str, str + strlen(str))); strcpy(str, " \t\r "); - test_eq_ptr(eat_whitespace_no_nl(str), str + strlen(str)); - test_eq_ptr(eat_whitespace_eos_no_nl(str, str + strlen(str)), - str + strlen(str)); + test_eq_ptr(str + strlen(str), eat_whitespace(str)); + test_eq_ptr(str + strlen(str), + eat_whitespace_eos(str, str + strlen(str))); + test_eq_ptr(str + strlen(str), eat_whitespace_no_nl(str)); + test_eq_ptr(str + strlen(str), + eat_whitespace_eos_no_nl(str, str + strlen(str))); /* Multiple ws */ strcpy(str, "fuubaar"); for (i = 0; i < sizeof(ws); ++i) str[i] = ws[i]; - test_streq(eat_whitespace(str), str + sizeof(ws)); - test_streq(eat_whitespace_eos(str, str + strlen(str)), str + sizeof(ws)); - test_streq(eat_whitespace_no_nl(str), str + sizeof(ws)); - test_streq(eat_whitespace_eos_no_nl(str, str + strlen(str)), - str + sizeof(ws)); + test_eq_ptr(str + sizeof(ws), eat_whitespace(str)); + test_eq_ptr(str + sizeof(ws), eat_whitespace_eos(str, str + strlen(str))); + test_eq_ptr(str + sizeof(ws), eat_whitespace_no_nl(str)); + test_eq_ptr(str + sizeof(ws), + eat_whitespace_eos_no_nl(str, str + strlen(str))); /* Eat comment */ strcpy(str, "# Comment \n No Comment"); - test_streq(eat_whitespace(str), "No Comment"); - test_streq(eat_whitespace_eos(str, str + strlen(str)), "No Comment"); + test_streq("No Comment", eat_whitespace(str)); + test_streq("No Comment", eat_whitespace_eos(str, str + strlen(str))); + test_eq_ptr(str, eat_whitespace_no_nl(str)); + test_eq_ptr(str, eat_whitespace_eos_no_nl(str, str + strlen(str))); /* Eat comment & ws mix */ strcpy(str, " # \t Comment \n\t\nNo Comment"); - test_streq(eat_whitespace(str), "No Comment"); - test_streq(eat_whitespace_eos(str, str + strlen(str)), "No Comment"); + test_streq("No Comment", eat_whitespace(str)); + test_streq("No Comment", eat_whitespace_eos(str, str + strlen(str))); + test_eq_ptr(str + 1, eat_whitespace_no_nl(str)); + test_eq_ptr(str + 1, eat_whitespace_eos_no_nl(str, str + strlen(str))); /* Eat entire comment */ strcpy(str, "#Comment"); - test_eq_ptr(eat_whitespace(str), str + strlen(str)); - test_eq_ptr(eat_whitespace_eos(str, str + strlen(str)), str + strlen(str)); + test_eq_ptr(str + strlen(str), eat_whitespace(str)); + test_eq_ptr(str + strlen(str), eat_whitespace_eos(str, str + strlen(str))); + test_eq_ptr(str, eat_whitespace_no_nl(str)); + test_eq_ptr(str, eat_whitespace_eos_no_nl(str, str + strlen(str))); + + /* Blank line, then comment */ + strcpy(str, " \t\n # Comment"); + test_eq_ptr(str + strlen(str), eat_whitespace(str)); + test_eq_ptr(str + strlen(str), eat_whitespace_eos(str, str + strlen(str))); + test_eq_ptr(str + 2, eat_whitespace_no_nl(str)); + test_eq_ptr(str + 2, eat_whitespace_eos_no_nl(str, str + strlen(str))); done: ; |