mirror of
https://github.com/zeux/pugixml.git
synced 2024-12-27 13:33:17 +08:00
tests: Add an error propagation test for XPath
This test is supposed to test error coverage in different expressions that are nested in other expressions to reduce the number of never-taken branches in tests (and make sure we aren't missing any).
This commit is contained in:
parent
1b3e8614e7
commit
cac1d8ad9f
@ -313,4 +313,26 @@ TEST(xpath_parse_result_default)
|
||||
CHECK(result.offset == 0);
|
||||
}
|
||||
|
||||
TEST(xpath_parse_error_propagation)
|
||||
{
|
||||
char_t query[] = STR("(//foo[count(. | @*)] | /foo | /foo/bar//more/ancestor-or-self::foobar | /text() | a[1 + 2 * 3 div (1+0) mod 2]//b[1]/c | a[$x])[true()]");
|
||||
|
||||
xpath_variable_set vars;
|
||||
vars.set(STR("x"), 1.0);
|
||||
|
||||
xpath_query q(query, &vars);
|
||||
CHECK(q);
|
||||
|
||||
for (size_t i = 0; i + 1 < sizeof(query) / sizeof(query[0]); ++i)
|
||||
{
|
||||
char_t ch = query[i];
|
||||
|
||||
query[i] = '%';
|
||||
|
||||
CHECK_XPATH_FAIL(query);
|
||||
|
||||
query[i] = ch;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user