test: add testcase for issue #12883

This commit is contained in:
Yu Watanabe 2019-06-27 03:03:45 +09:00
parent 0ef69585d8
commit 3d5d346aa5

View file

@ -230,6 +230,13 @@ static const char* const config_file[] = {
"setting1=2\n"
"setting1=1\n", /* repeated settings */
"[Section]\n"
"[Section]\n"
"setting1=1\n"
"setting1=2\\\n"
" \n" /* empty line breaks continuation */
"setting1=1\n", /* repeated settings */
"[Section]\n"
"setting1=1\\\n" /* normal continuation */
"2\\\n"
@ -330,32 +337,32 @@ static void test_config_parse(unsigned i, const char *s) {
CONFIG_PARSE_WARN, NULL);
switch (i) {
case 0 ... 3:
case 0 ... 4:
assert_se(r == 0);
assert_se(streq(setting1, "1"));
break;
case 4 ... 9:
case 5 ... 10:
assert_se(r == 0);
assert_se(streq(setting1, "1 2 3"));
break;
case 10:
case 11:
assert_se(r == 0);
assert_se(streq(setting1, "1\\\\ \\\\2"));
break;
case 11:
case 12:
assert_se(r == 0);
assert_se(streq(setting1, x1000("ABCD")));
break;
case 12 ... 13:
case 13 ... 14:
assert_se(r == 0);
assert_se(streq(setting1, x1000("ABCD") " foobar"));
break;
case 14 ... 15:
case 15 ... 16:
assert_se(r == -ENOBUFS);
assert_se(setting1 == NULL);
break;