summaryrefslogtreecommitdiff
path: root/src/or/test.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2004-08-17 21:06:36 +0000
committerNick Mathewson <nickm@torproject.org>2004-08-17 21:06:36 +0000
commit7cb93e5bb652bf365e66077bc6ad4e18f134ad0b (patch)
tree2c4b55ebe372fea17eebee880e648b3fbe42523c /src/or/test.c
parent2c002b1533b82299694598ab565923a05b3de574 (diff)
downloadtor-7cb93e5bb652bf365e66077bc6ad4e18f134ad0b.tar.gz
tor-7cb93e5bb652bf365e66077bc6ad4e18f134ad0b.zip
Move string-splitting into a separate function
svn:r2263
Diffstat (limited to 'src/or/test.c')
-rw-r--r--src/or/test.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/or/test.c b/src/or/test.c
index fa84b7ca83..80167bc57c 100644
--- a/src/or/test.c
+++ b/src/or/test.c
@@ -550,6 +550,40 @@ test_util() {
test_eq((void*)3, smartlist_get(sl,3));
test_eq((void*)4, smartlist_get(sl,4));
test_eq((void*)555, smartlist_get(sl,5));
+
+ smartlist_clear(sl);
+ smartlist_split_string(sl, "abc", ":", 0);
+ test_eq(1, smartlist_len(sl));
+ test_streq("abc", smartlist_get(sl, 0));
+ smartlist_split_string(sl, "a::bc::", "::", 0);
+ test_eq(4, smartlist_len(sl));
+ test_streq("a", smartlist_get(sl, 1));
+ test_streq("bc", smartlist_get(sl, 2));
+ test_streq("", smartlist_get(sl, 3));
+ smartlist_split_string(sl, "/def/ /ghijk", "/", 0);
+ test_eq(8, smartlist_len(sl));
+ test_streq("", smartlist_get(sl, 4));
+ test_streq("def", smartlist_get(sl, 5));
+ test_streq(" ", smartlist_get(sl, 6));
+ test_streq("ghijk", smartlist_get(sl, 7));
+ SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp));
+ smartlist_clear(sl);
+
+ smartlist_split_string(sl, "a,bbd,cdef", ",", 1);
+ test_eq(3, smartlist_len(sl));
+ test_streq("a", smartlist_get(sl,0));
+ test_streq("bbd", smartlist_get(sl,1));
+ test_streq("cdef", smartlist_get(sl,2));
+ smartlist_split_string(sl, " z <> zhasd <> <> bnud<> ", "<>", 1);
+ test_eq(8, smartlist_len(sl));
+ test_streq("z", smartlist_get(sl,3));
+ test_streq("zhasd", smartlist_get(sl,4));
+ test_streq("", smartlist_get(sl,5));
+ test_streq("bnud", smartlist_get(sl,6));
+ test_streq("", smartlist_get(sl,7));
+
+ SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp));
+
/* XXXX test older functions. */
smartlist_free(sl);
}