X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=test%2Ftest_nmem.c;fp=test%2Ftest_nmem.c;h=cc34f277b4e83aea14c6f8635dc6635daea48071;hp=027b8239a41b37e2ee3a969581bebb98770cd8d6;hb=cfb1b8ff4632b51bec4e5eab18137081efdfb02d;hpb=dcf6101fd8cf823c366b0703243381e8a0e11d75 diff --git a/test/test_nmem.c b/test/test_nmem.c index 027b823..cc34f27 100644 --- a/test/test_nmem.c +++ b/test/test_nmem.c @@ -72,8 +72,16 @@ void tst_nmem_strsplit(void) YAZ_CHECK(num > 0 && !strcmp(array[0], "a")); YAZ_CHECK(num > 1 && !strcmp(array[1], "b")); YAZ_CHECK(num > 2 && !strcmp(array[2], "cd")); + nmem_strsplitx(nmem, ",", ",a,b,,cd", &array, &num, 0); + YAZ_CHECK(num == 5); + YAZ_CHECK(num > 0 && !strcmp(array[0], "")); + YAZ_CHECK(num > 1 && !strcmp(array[1], "a")); + YAZ_CHECK(num > 2 && !strcmp(array[2], "b")); + YAZ_CHECK(num > 3 && !strcmp(array[3], "")); + YAZ_CHECK(num > 4 && !strcmp(array[4], "cd")); + nmem_strsplit_escape(nmem, ",", ",a,b,,cd", &array, &num, 0, '\\'); YAZ_CHECK(num == 5); YAZ_CHECK(num > 0 && !strcmp(array[0], "")); YAZ_CHECK(num > 1 && !strcmp(array[1], "a")); @@ -81,6 +89,24 @@ void tst_nmem_strsplit(void) YAZ_CHECK(num > 3 && !strcmp(array[3], "")); YAZ_CHECK(num > 4 && !strcmp(array[4], "cd")); + nmem_strsplit_escape(nmem, ",", ",a,b\\,,cd", &array, &num, 0, '\\'); + YAZ_CHECK(num == 4); + YAZ_CHECK(num > 0 && !strcmp(array[0], "")); + YAZ_CHECK(num > 1 && !strcmp(array[1], "a")); + YAZ_CHECK(num > 2 && !strcmp(array[2], "b\\,")); + YAZ_CHECK(num > 3 && !strcmp(array[3], "cd")); + + nmem_strsplit_escape(nmem, ",", "\\,a,b\\,,cd", &array, &num, 0, '\\'); + YAZ_CHECK(num == 3); + YAZ_CHECK(num > 0 && !strcmp(array[0], "\\,a")); + YAZ_CHECK(num > 1 && !strcmp(array[1], "b\\,")); + YAZ_CHECK(num > 2 && !strcmp(array[2], "cd")); + + nmem_strsplit_escape(nmem, ",", "\\,a,b\\,\\,cd", &array, &num, 0, '\\'); + YAZ_CHECK(num == 2); + YAZ_CHECK(num > 0 && !strcmp(array[0], "\\,a")); + YAZ_CHECK(num > 1 && !strcmp(array[1], "b\\,\\,cd")); + nmem_destroy(nmem); }