Diff for /embedaddon/pcre/testdata/testinput2 between versions 1.1.1.3 and 1.1.1.4

version 1.1.1.3, 2012/10/09 09:19:18 version 1.1.1.4, 2013/07/22 08:25:57
Line 313 Line 313
     *** Failers      *** Failers
     fooabar      fooabar
   
 /This one is here because Perl 5.005_02 doesn't fail it/I  
   
 /^(a)?(?(1)a|b)+$/I  
     *** Failers  
     a  
   
 /This one is here because Perl behaves differently; see also the following/I  /This one is here because Perl behaves differently; see also the following/I
   
 /^(a\1?){4}$/I  /^(a\1?){4}$/I
Line 2939  a random value. /Ix Line 2933  a random value. /Ix
     xxxxabcde\P      xxxxabcde\P
     xxxxabcde\P\P      xxxxabcde\P\P
   
/-- This is not in the Perl >= 5.10 test because Perl seems currently to be/-- This is not in the Perl-compatible test because Perl seems currently to be
     broken and not behaving as specified in that it *does* bumpalong after      broken and not behaving as specified in that it *does* bumpalong after
     hitting (*COMMIT). --/      hitting (*COMMIT). --/
   
Line 2985  a random value. /Ix Line 2979  a random value. /Ix
   
 /^(?&t)*(?(DEFINE)(?<t>.))$/BZ  /^(?&t)*(?(DEFINE)(?<t>.))$/BZ
   
/ -- The first four of these are not in the Perl >= 5.10 test because Perl / -- This one is here because Perl gives the match as "b" rather than "ab". I
     documents that the use of \K in assertions is "not well defined". The 
     last is here because Perl gives the match as "b" rather than "ab". I 
      believe this to be a Perl bug. --/         believe this to be a Perl bug. --/  
               
 /(?=a\Kb)ab/  
     ab   
   
 /(?!a\Kb)ac/  
     ac   
       
 /^abc(?<=b\Kc)d/  
     abcd  
   
 /^abc(?<!b\Kq)d/  
     abcd  
   
 /(?>a\Kb)z|(ab)/  /(?>a\Kb)z|(ab)/
     ab       ab 
   
 /----------------------/  
   
 /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/  /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
   
 /abc(*MARK:)pqr/  /abc(*MARK:)pqr/
Line 3021  a random value. /Ix Line 2999  a random value. /Ix
 /A(*COMMIT)B/+K  /A(*COMMIT)B/+K
     ACABX      ACABX
   
/--- These should be different, but in Perl 5.11 are not, which I think/--- These should be different, but in Perl they are not, which I think
      is a bug in Perl. ---/       is a bug in Perl. ---/
   
 /A(*THEN)B|A(*THEN)C/K  /A(*THEN)B|A(*THEN)C/K
Line 3030  a random value. /Ix Line 3008  a random value. /Ix
 /A(*PRUNE)B|A(*PRUNE)C/K  /A(*PRUNE)B|A(*PRUNE)C/K
     AC      AC
           
 /--- This should fail; the SKIP advances by one, but when we get to AC, the  
      PRUNE kills it. Perl behaves differently. ---/   
       
 /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK  
     AAAC  
   
 /--- Mark names can be duplicated. Perl doesn't give a mark for this one,  /--- Mark names can be duplicated. Perl doesn't give a mark for this one,
 though PCRE does. ---/  though PCRE does. ---/
   
Line 3061  with \Y. ---/ Line 3033  with \Y. ---/
 /^(ab (c+(*FAIL)cd) | xyz)/x  /^(ab (c+(*FAIL)cd) | xyz)/x
     abcccd        abcccd  
           
/--- Perl 5.11 gets some of these wrong ---/ /--- Perl gets some of these wrong ---/ 
   
 /(?>.(*ACCEPT))*?5/  /(?>.(*ACCEPT))*?5/
     abcde      abcde
Line 3121  with \Y. ---/ Line 3093  with \Y. ---/
 /X\H++\R/BZ  /X\H++\R/BZ
     X\x0d\x0a      X\x0d\x0a
   
 /-- Perl treats this one differently, not failing the second string. I believe  
     that is a bug in Perl. --/  
   
 /^((abc|abcx)(*THEN)y|abcd)/  
     abcd  
     *** Failers   
     abcxy   
   
 /(?<=abc)def/  /(?<=abc)def/
     abc\P\P      abc\P\P
   
Line 3427  with \Y. ---/ Line 3391  with \Y. ---/
   
 /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS  /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS
   
/a(*SKIP)c|b(*ACCEPT)|/+SI/a(*SKIP)c|b(*ACCEPT)|/+S!I
     a      a
   
 /a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/SI  /a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/SI
Line 3453  with \Y. ---/ Line 3417  with \Y. ---/
 /a(?:.(*THEN:ABC))*?a/ims  /a(?:.(*THEN:ABC))*?a/ims
     \Mabbbbbbbbbbbbbbbbbbbbba      \Mabbbbbbbbbbbbbbbbbbbbba
   
 /-- These tests are in agreement with development Perl 5.015, which has fixed  
     some things, but they don't all work with 5.012, so they aren't in the  
     Perl-compatible tests. Those after the first come from Perl's own test  
     files. --/  
       
 /^((yes|no)(*THEN)(*F))?/  
   yes  
   
 /(A (.*)   C? (*THEN)  | A D) (*FAIL)/x  
 AbcdCBefgBhiBqz  
   
 /(A (.*)   C? (*THEN)  | A D) z/x  
 AbcdCBefgBhiBqz  
   
 /(A (.*)   C? (*THEN)  | A D) \s* (*FAIL)/x  
 AbcdCBefgBhiBqz  
   
 /(A (.*)   C? (*THEN)  | A D) \s* z/x  
 AbcdCBefgBhiBqz  
   
 /(A (.*)   (?:C|) (*THEN)  | A D) (*FAIL)/x  
 AbcdCBefgBhiBqz  
   
 /(A (.*)   (?:C|) (*THEN)  | A D) z/x  
 AbcdCBefgBhiBqz  
   
 /(A (.*)   C{0,6} (*THEN)  | A D) (*FAIL)/x  
 AbcdCBefgBhiBqz  
   
 /(A (.*)   C{0,6} (*THEN)  | A D) z/x  
 AbcdCBefgBhiBqz  
   
 /(A (.*)   (CE){0,6} (*THEN)  | A D) (*FAIL)/x  
 AbcdCEBefgBhiBqz  
   
 /(A (.*)   (CE){0,6} (*THEN)  | A D) z/x  
 AbcdCEBefgBhiBqz  
   
 /(A (.*)   (CE*){0,6} (*THEN)  | A D) (*FAIL)/x  
 AbcdCBefgBhiBqz  
   
 /(A (.*)   (CE*){0,6} (*THEN)  | A D) z/x  
 AbcdCBefgBhiBqz  
   
 /-----------------------------------------------/    
   
 /^(?>a+)(?>(z+))\w/BZ  /^(?>a+)(?>(z+))\w/BZ
     aaaazzzzb      aaaazzzzb
     ** Failers      ** Failers
Line 3751  replaced by single letters. --/ Line 3669  replaced by single letters. --/
     \r\r\r\P      \r\r\r\P
     \r\r\r\P\P           \r\r\r\P\P     
   
/-- These two are here because Perl does not match: it seems to allow the"AB(C(D))(E(F))?(?(?=\2)(?=\4))"
COMMIT to escape from the assertion. --/    ABCDGHI\O03
     
 /-- These are all run as real matches in test 1; here we are just checking the
 settings of the anchored and startline bits. --/ 
   
/(?=a(*COMMIT)b|ac)ac|ac//(?>.*?a)(?<=ba)/I
    ac 
   
/(?=a(*COMMIT)b|(ac)) ac | (a)c/x/(?:.*?a)(?<=ba)/I
    ac 
   
"AB(C(D))(E(F))?(?(?=\2)(?=\4))"/.*?a(*PRUNE)b/I
    ABCDGHI\O03
 /.*?a(*PRUNE)b/sI
 
 /^a(*PRUNE)b/sI
 
 /.*?a(*SKIP)b/I
 
 /(?>.*?a)b/sI
 
 /(?>.*?a)b/I
 
 /(?>^a)b/sI
 
 /(?>.*?)(?<=(abcd)|(wxyz))/I
 
 /(?>.*)(?<=(abcd)|(wxyz))/I
 
 "(?>.*)foo"I
 
 "(?>.*?)foo"I
 
 /(?>^abc)/mI
 
 /(?>.*abc)/mI
 
 /(?:.*abc)/mI
 
 /-- Check PCRE_STUDY_EXTRA_NEEDED --/
 
 /.?/S-I
 
 /.?/S!I
 
 /(?:(a)+(?C1)bb|aa(?C2)b)/
     aab\C+
    
 /(?:(a)++(?C1)bb|aa(?C2)b)/
     aab\C+ 
           
/-- This one is here because Perl does not confine the *COMMIT to the /(?:(?>(a))(?C1)bb|aa(?C2)b)/
assertion, and therefore fails the entire subroutine call. --/     aab\C+ 
 
 /(?:(?1)(?C1)x|ab(?C2))((a)){0}/                                                
     aab\C+ 
 
 /(?1)(?C1)((a)(?C2)){0}/   
     aab\C+ 
 
 /(?:(a)+(?C1)bb|aa(?C2)b)++/
     aab\C+
     aab\C+\O2
 
 /(ab)x|ab/
     ab\O3
     ab\O2 
   
 /(ab)/
     ab\O3
     ab\O2 
           
/((?=a(*COMMIT)b)ab|ac){0}(?:(?1)|a(c))//(?<=123)(*MARK:xx)abc/K
    ac     xxxx123a\P\P
     xxxx123a\P
     
 /123\Kabc/
     xxxx123a\P\P
     xxxx123a\P
 
 /^(?(?=a)aa|bb)/C
     bb
 
 /(?C1)^(?C2)(?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))(?C11)/
     bb
 
 /-- Perl seems to have a bug with this one --/
 
 /aaaaa(*COMMIT)(*PRUNE)b|a+c/
     aaaaaac
     
 /-- Here are some that Perl treats differently because of the way it handles
 backtracking verbs. --/
 
  /(?!a(*COMMIT)b)ac|ad/
      ac
      ad 
 
 /^(?!a(*THEN)b|ac)../
      ac
      ad 
 
 /^(?=a(*THEN)b|ac)/
     ac
     
 /\A.*?(?:a|b(*THEN)c)/
     ba
 
 /\A.*?(?:a|b(*THEN)c)++/
     ba
 
 /\A.*?(?:a|b(*THEN)c|d)/
     ba
 
 /(?:(a(*MARK:X)a+(*SKIP:X)b)){0}(?:(?1)|aac)/
     aac 
 
 /\A.*?(a|b(*THEN)c)/
     ba
 
 /^(A(*THEN)B|A(*THEN)D)/
     AD           
     
 /(?!b(*THEN)a)bn|bnn/
     bnn
 
 /(?(?=b(*SKIP)a)bn|bnn)/
     bnn
 
 /(?=b(*THEN)a|)bn|bnn/
     bnn
 
 /-------------------------/ 
 
 /(*LIMIT_MATCH=12bc)abc/
 
 /(*LIMIT_MATCH=4294967290)abc/
 
 /(*LIMIT_RECURSION=4294967280)abc/I
 
 /(a+)*zz/
     aaaaaaaaaaaaaz
     aaaaaaaaaaaaaz\q3000
 
 /(a+)*zz/S-
     aaaaaaaaaaaaaz\Q10 
 
 /(*LIMIT_MATCH=3000)(a+)*zz/I
     aaaaaaaaaaaaaz
     aaaaaaaaaaaaaz\q60000
 
 /(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I
     aaaaaaaaaaaaaz
 
 /(*LIMIT_MATCH=60000)(a+)*zz/I
     aaaaaaaaaaaaaz
     aaaaaaaaaaaaaz\q3000
 
 /(*LIMIT_RECURSION=10)(a+)*zz/IS-
     aaaaaaaaaaaaaz
     aaaaaaaaaaaaaz\Q1000
 
 /(*LIMIT_RECURSION=10)(*LIMIT_RECURSION=1000)(a+)*zz/IS-
     aaaaaaaaaaaaaz
 
 /(*LIMIT_RECURSION=1000)(a+)*zz/IS-
     aaaaaaaaaaaaaz
     aaaaaaaaaaaaaz\Q10
   
 /-- End of testinput2 --/  /-- End of testinput2 --/

Removed from v.1.1.1.3  
changed lines
  Added in v.1.1.1.4


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>