summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEsteban Manchado Velázquez <emanchado@demiurgo.org>2012-02-11 01:27:50 +0100
committerNick Mathewson <nickm@torproject.org>2012-03-08 20:49:25 -0500
commit4beebea698fc2bad233d86646014847c2ec9403e (patch)
treef13d9e80cb2099909404b1c9cc231dd1362392a0 /src
parent3e4a977781fe0ae85ec9677e9496de5451e5c824 (diff)
downloadtor-4beebea698fc2bad233d86646014847c2ec9403e.tar.gz
tor-4beebea698fc2bad233d86646014847c2ec9403e.zip
Improve eat_whitespace* unit tests
Diffstat (limited to 'src')
-rw-r--r--src/test/test_util.c74
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:
;