summaryrefslogtreecommitdiff
path: root/pcre_jit_test.c
diff options
context:
space:
mode:
authorzherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15>2013-03-10 05:32:10 +0000
committerzherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15>2013-03-10 05:32:10 +0000
commitf2fb43c7b274cefc205f1a1ac02b603eef529df0 (patch)
tree0713ccb54e01934e5fdb90f484e17849907c8d95 /pcre_jit_test.c
parentcc599c2b02de0a5969f826d4fe6a6ef0e491efa8 (diff)
downloadpcre-f2fb43c7b274cefc205f1a1ac02b603eef529df0.tar.gz
Experimental support of (*SKIP) backtracking verb in the JIT compiler.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1275 2f5784b3-3f2a-0410-8824-cb99058d5e15
Diffstat (limited to 'pcre_jit_test.c')
-rw-r--r--pcre_jit_test.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/pcre_jit_test.c b/pcre_jit_test.c
index bdbfcd7..217d218 100644
--- a/pcre_jit_test.c
+++ b/pcre_jit_test.c
@@ -696,6 +696,8 @@ static struct regression_test_case regression_test_cases[] = {
{ MUA, 0 | F_NOMATCH, "a(*COMMIT)(*:msg)b|ac", "ac" },
{ MUA, 0, "(?=a(*COMMIT)b|ac)ac|(*:m)(a)c", "ac" },
{ MUA, 0, "(?!a(*COMMIT)(*:msg)b)a(c)|cd", "acd" },
+ { MUA, 0, "(?=(a)(*COMMIT)b)|ac", "ac" },
+ { MUA, 0, "(?=(a)+(*COMMIT)b)|ac", "ac" },
/* (*PRUNE) verb. */
{ MUA, 0, "aa\\K(*PRUNE)b", "aaab" },
@@ -704,6 +706,13 @@ static struct regression_test_case regression_test_cases[] = {
{ MUA, 0, "(a)(a)(a)(a)(a)(a)(a)(a)(*PRUNE)b|(a)", "aaaaaaaa" },
{ MUA | PCRE_PARTIAL_SOFT, 0, "a(*PRUNE)a|", "a" },
{ MUA | PCRE_PARTIAL_SOFT, 0, "a(*PRUNE)a|m", "a" },
+ { MUA, 0 | F_NOMATCH, "a(*COMMIT)(*PRUNE)d|bc", "abc" },
+ { MUA, 0, "(?=a(*COMMIT)b)a(*PRUNE)c|bc", "abc" },
+ { MUA, 0 | F_NOMATCH, "(*COMMIT)(?=a(*COMMIT)b)a(*PRUNE)c|bc", "abc" },
+ { MUA, 0, "(?=(a)(*COMMIT)b)a(*PRUNE)c|bc", "abc" },
+ { MUA, 0 | F_NOMATCH, "(*COMMIT)(?=(a)(*COMMIT)b)a(*PRUNE)c|bc", "abc" },
+ { MUA, 0, "(a(*COMMIT)b){0}a(?1)(*PRUNE)c|bc", "abc" },
+ { MUA, 0 | F_NOMATCH, "(a(*COMMIT)b){0}a(*COMMIT)(?1)(*PRUNE)c|bc", "abc" },
/* Deep recursion. */
{ MUA, 0, "((((?:(?:(?:\\w)+)?)*|(?>\\w)+?)+|(?>\\w)?\?)*)?\\s", "aaaaa+ " },