set PERL_LEGACY_UNICODE_CHARCLASS_MAPPINGS to 0 and enable proper POSIX char class...
[p5sagit/p5-mst-13.2.git] / t / op / re_tests
index a4f1e53..b9177e9 100644 (file)
@@ -31,6 +31,12 @@ ab*bc        abbbbc  y       $+[0]   6
 .{3,4} abbbbc  y       $&      abbb
 .{3,4} abbbbc  y       $-[0]   0
 .{3,4} abbbbc  y       $+[0]   4
+\N{1}  abbbbc  y       $&      a
+\N{1}  abbbbc  y       $-[0]   0
+\N{1}  abbbbc  y       $+[0]   1
+\N{3,4}        abbbbc  y       $&      abbb
+\N{3,4}        abbbbc  y       $-[0]   0
+\N{3,4}        abbbbc  y       $+[0]   4
 ab{0,}bc       abbbbc  y       $&      abbbbc
 ab{0,}bc       abbbbc  y       $-[0]   0
 ab{0,}bc       abbbbc  y       $+[0]   6
@@ -69,8 +75,11 @@ abc$ aabcd   n       -       -
 $      abc     y       $&      
 a.c    abc     y       $&      abc
 a.c    axc     y       $&      axc
+a\Nc   abc     y       $&      abc
 a.*c   axyzc   y       $&      axyzc
+a\N*c  axyzc   y       $&      axyzc
 a.*c   axyzd   n       -       -
+a\N*c  axyzd   n       -       -
 a[bc]d abc     n       -       -
 a[bc]d abd     y       $&      abd
 a[b]d  abd     y       $&      abd
@@ -78,6 +87,7 @@ a[b]d abd     y       $&      abd
 .[b].  abd     y       $&      abd
 .[b].  aBd     n       -       -
 (?i:.[b].)     abd     y       $&      abd
+(?i:\N[b]\N)   abd     y       $&      abd
 a[b-d]e        abd     n       -       -
 a[b-d]e        ace     y       $&      ace
 a[b-d] aac     y       $&      ac
@@ -315,6 +325,7 @@ a[-]?c      ac      y       $&      ac
 '$'i   ABC     y       $&      
 'a.c'i ABC     y       $&      ABC
 'a.c'i AXC     y       $&      AXC
+'a\Nc'i        ABC     y       $&      ABC
 'a.*?c'i       AXYZC   y       $&      AXYZC
 'a.*c'i        AXYZD   n       -       -
 'a[bc]d'i      ABC     n       -       -
@@ -497,8 +508,11 @@ a(?:b|(c|e){1,2}?|d)+?(.)  ace     y       $1$2    ce
 '(?-i:a)b'i    AB      n       -       -
 '((?-i:a))b'i  AB      n       -       -
 '((?-i:a.))b'i a\nB    n       -       -
+'((?-i:a\N))b'i        a\nB    n       -       -
 '((?s-i:a.))b'i        a\nB    y       $1      a\n
+'((?s-i:a\N))b'i       a\nB    n       -       -
 '((?s-i:a.))b'i        B\nB    n       -       -
+'((?s-i:a\N))b'i       B\nB    n       -       -
 (?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))       cabbbb  y       $&      cabbbb
 (?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))    caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb       y       $&      caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 '(ab)\d\1'i    Ab4ab   y       $1      Ab
@@ -531,6 +545,8 @@ x(~~)*(?:(?:F)?)?   x~~     y       -       -
 ((?s).)c(?!.)  a\nb\nc\n       y       $1:$&   \n:\nc
 ((?s)b.)c(?!.) a\nb\nc\n       y       $1      b\n
 ((?s)b.)c(?!.) a\nb\nc\n       y       $1:$&   b\n:b\nc
+((?s)b.)c(?!\N)        a\nb\nc\n       y       $1:$&   b\n:b\nc
+'(b.)c(?!\N)'s a\nb\nc\n       y       $1:$&   b\n:b\nc
 ^b     a\nb\nc\n       n       -       -
 ()^b   a\nb\nc\n       n       -       -
 ((?m)^b)       a\nb\nc\n       y       $1      b
@@ -1286,6 +1302,7 @@ a*(*F)    aaaab   n       -       -
 X(\w+)(?=\s)|X(\w+)    Xab     y       [$1-$2] [-ab]
 
 #check that branch reset works ok.
+(?|(a))        a       y       $1-$+-$^N       a-a-a
 (?|a(.)b|d(.(o).)d|i(.)(.)j)(.)        d!o!da  y       $1-$2-$3        !o!-o-a
 (?|a(.)b|d(.(o).)d|i(.)(.)j)(.)        aabc    y       $1-$2-$3        a--c
 (?|a(.)b|d(.(o).)d|i(.)(.)j)(.)        ixyjp   y       $1-$2-$3        x-y-p
@@ -1294,6 +1311,12 @@ X(\w+)(?=\s)|X(\w+)      Xab     y       [$1-$2] [-ab]
 (?|(?|(a)|(b))|(?|(c)|(d)))    c       y       $1      c
 (?|(?|(a)|(b))|(?|(c)|(d)))    d       y       $1      d
 (.)(?|(.)(.)x|(.)d)(.) abcde   y       $1-$2-$3-$4-$5- b-c--e--
+(\N)(?|(\N)(\N)x|(\N)d)(\N)    abcde   y       $1-$2-$3-$4-$5- b-c--e--
+(?|(?<foo>x))  x       y       $+{foo} x
+(?|(?<foo>x)|(?<bar>y))        x       y       $+{foo} x
+(?|(?<bar>y)|(?<foo>x))        x       y       $+{foo} x
+(?<bar>)(?|(?<foo>x))  x       y       $+{foo} x
+
 #Bug #41492
 (?(DEFINE)(?<A>(?&B)+)(?<B>a))(?&A)    a       y       $&      a
 (?(DEFINE)(?<A>(?&B)+)(?<B>a))(?&A)    aa      y       $&      aa
@@ -1340,13 +1363,16 @@ foo(\h)bar      foo\tbar        y       $1      \t
 (\H)(\h)       foo\tbar        y       $1-$2   o-\t
 (\h)(\H)       foo\tbar        y       $1-$2   \t-b
 
-.*\z   foo\n   y       -       -
+.*\z   foo\n   y       -$&-    --
+\N*\z  foo\n   y       -$&-    --
+.*\Z   foo\n   y       -$&-    -foo-
+\N*\Z  foo\n   y       -$&-    -foo-
 ^(?:(\d)x)?\d$ 1       y       ${\(defined($1)?1:0)}   0       
 .*?(?:(\w)|(\w))x      abx     y       $1-$2   b-
 
 0{50}  000000000000000000000000000000000000000000000000000     y       -       -
-^a?(?=b)b      ab      B       $&      ab      # Bug #56690
-^a*(?=b)b      ab      B       $&      ab      # Bug #56690
+^a?(?=b)b      ab      y       $&      ab      # Bug #56690
+^a*(?=b)b      ab      y       $&      ab      # Bug #56690
 />\d+$ \n/ix   >10\n   y       $&      >10
 />\d+$ \n/ix   >1\n    y       $&      >1
 /\d+$ \n/ix    >10\n   y       $&      10
@@ -1360,3 +1386,10 @@ foo(\h)bar       foo\tbar        y       $1      \t
 /(.*?)a(?!(a+)b\2c)/   baaabaac        y       $&-$1   baa-ba
 # [perl #60344] Regex lookbehind failure after an (if)then|else in perl 5.10
 /\A(?(?=db2)db2|\D+)(?<!processed)\.csv\z/xms  sql_processed.csv       n       -       -
+/\N{U+0100}/   \x{100} y       $&      \x{100} # Bug #59328
+[\s][\S]       \x{a0}\x{a0}    n       -       -       # Unicode complements should not match same character
+
+# was generating malformed utf8
+'[\x{100}\xff]'i       \x{ff}  y       $&      \x{ff}
+
+((??{ "(?:|)" }))\s    C\x20   y       -       -