mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-25 23:16:14 +01:00
regex test: expect ASSERTION_EXPECTED for /(?(?<ab))/ with PCRE 8.38
PCRE 8.38 changed the parsing of this invalid regex. It still fails, but with a different error (since PCRE r1539, <http://vcs.pcre.org/pcre?view=revision&revision=1539>). The regex /(?P<sub>foo)\g<sub/ used to raise MISSING_BACK_REFERENCE but now raises MISSING_SUBPATTERN_NAME_TERMINATOR, so we can still have a test for the latter. Signed-off-by: Simon McVittie <smcv@debian.org> Reviewed-by: Emmanuele Bassi <ebassi@gnome.org> Bug: https://bugzilla.gnome.org/show_bug.cgi?id=759808
This commit is contained in:
parent
86c5d8978d
commit
855594c4de
@ -2261,7 +2261,14 @@ main (int argc, char *argv[])
|
|||||||
TEST_NEW_FAIL ("^(?(0)f|b)oo", 0, G_REGEX_ERROR_INVALID_CONDITION);
|
TEST_NEW_FAIL ("^(?(0)f|b)oo", 0, G_REGEX_ERROR_INVALID_CONDITION);
|
||||||
TEST_NEW_FAIL ("(?<=\\C)X", 0, G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND);
|
TEST_NEW_FAIL ("(?<=\\C)X", 0, G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND);
|
||||||
TEST_NEW_FAIL ("(?!\\w)(?R)", 0, G_REGEX_ERROR_INFINITE_LOOP);
|
TEST_NEW_FAIL ("(?!\\w)(?R)", 0, G_REGEX_ERROR_INFINITE_LOOP);
|
||||||
|
#if PCRE_MAJOR > 8 || (PCRE_MAJOR == 8 && PCRE_MINOR >= 38)
|
||||||
|
/* The expected errors changed here. */
|
||||||
|
TEST_NEW_FAIL ("(?P<sub>foo)\\g<sub", 0, G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR);
|
||||||
|
TEST_NEW_FAIL ("(?(?<ab))", 0, G_REGEX_ERROR_ASSERTION_EXPECTED);
|
||||||
|
#else
|
||||||
|
TEST_NEW_FAIL ("(?P<sub>foo)\\g<sub", 0, G_REGEX_ERROR_MISSING_BACK_REFERENCE);
|
||||||
TEST_NEW_FAIL ("(?(?<ab))", 0, G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR);
|
TEST_NEW_FAIL ("(?(?<ab))", 0, G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR);
|
||||||
|
#endif
|
||||||
TEST_NEW_FAIL ("(?P<x>eks)(?P<x>eccs)", 0, G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME);
|
TEST_NEW_FAIL ("(?P<x>eks)(?P<x>eccs)", 0, G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME);
|
||||||
#if 0
|
#if 0
|
||||||
TEST_NEW_FAIL (?, 0, G_REGEX_ERROR_MALFORMED_PROPERTY);
|
TEST_NEW_FAIL (?, 0, G_REGEX_ERROR_MALFORMED_PROPERTY);
|
||||||
|
Loading…
Reference in New Issue
Block a user