Fix [RT#66098] -- stricter checking on SvIVX exposed a lack of SvIOK check
[p5sagit/p5-mst-13.2.git] / t / op / re_tests
index 6eb03a2..f9b070d 100644 (file)
@@ -1,3 +1,6 @@
+# This stops me getting screenfulls of syntax errors every time I accidentally
+# run this file via a shell glob
+__END__
 abc    abc     y       $&      abc
 abc    abc     y       $-[0]   0
 abc    abc     y       $+[0]   3
@@ -253,6 +256,14 @@ a[-]?c     ac      y       $&      ac
 ([a-c]*)\1     abcabc  y       $1      abc
 \1     -       c       -       Reference to nonexistent group
 \2     -       c       -       Reference to nonexistent group
+\g1    -       c       -       Reference to nonexistent group
+\g-1   -       c       -       Reference to nonexistent or unclosed group
+\g{1}  -       c       -       Reference to nonexistent group
+\g{-1} -       c       -       Reference to nonexistent or unclosed group
+\g0    -       c       -       Reference to invalid group 0
+\g-0   -       c       -       Reference to invalid group 0
+\g{0}  -       c       -       Reference to invalid group 0
+\g{-0} -       c       -       Reference to invalid group 0
 (a)|\1 a       y       -       -
 (a)|\1 x       n       -       -
 (a)|\2 -       c       -       Reference to nonexistent group
@@ -261,6 +272,8 @@ a[-]?c      ac      y       $&      ac
 ((\3|b)\2(a)x)+        aaxabxbaxbbx    n       -       -
 ((\3|b)\2(a)x)+        aaaxabaxbaaxbbax        y       $&-$1-$2-$3     bbax-bbax-b-a
 ((\3|b)\2(a)){2,}      bbaababbabaaaaabbaaaabba        y       $&-$1-$2-$3     bbaaaabba-bba-b-a
+#Bug #3589 - up to perl-5.6.0 matches incorrectly, from 5.6.1 not anymore
+^((.)?a\2)+$   babadad n       -       -
 (a)|(b)        b       y       $-[0]   0
 (a)|(b)        b       y       $+[0]   1
 (a)|(b)        b       y       x$-[1]  x
@@ -401,6 +414,7 @@ a[-]?c      ac      y       $&      ac
 '(abc)\1'i     ABCABC  y       $1      ABC
 '([a-c]*)\1'i  ABCABC  y       $1      ABC
 a(?!b).        abad    y       $&      ad
+(?=)a  a       y       $&      a
 a(?=d).        abad    y       $&      ad
 a(?=c|d).      abad    y       $&      ad
 a(?:b|c|d)(.)  ace     y       $1      e
@@ -604,6 +618,7 @@ $(?<=^(a))  a       y       $1      a
 ((?>[^()]+)|\([^()]*\))+       ((abc(ade)ufh()()x      y       $&      abc(ade)ufh()()x
 (?<=x+)y       -       c       -       Variable length lookbehind not implemented
 a{37,17}       -       c       -       Can't do {n,m} with n > m
+a{37,0}        -       c       -       Can't do {n,m} with n > m
 \Z     a\nb\n  y       $-[0]   3
 \z     a\nb\n  y       $-[0]   4
 $      a\nb\n  y       $-[0]   3
@@ -1324,3 +1339,31 @@ foo(\h)bar       foo\x{A0}bar    y       $1      \x{A0}
 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       -       -
+^(?:(\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
+/>\d+$ \n/ix   >10\n   y       $&      >10
+/>\d+$ \n/ix   >1\n    y       $&      >1
+/\d+$ \n/ix    >10\n   y       $&      10
+/>\d\d$ \n/ix  >10\n   y       $&      >10
+/>\d+$ \n/x    >10\n   y       $&      >10
+
+# Two regressions in 5.8.x (only) introduced by change 30638
+# Simplification of the test failure in XML::LibXML::Simple:
+/^\s*i.*?o\s*$/s       io\n io y       -       -
+# As reported in #59168 by Father Chrysostomos:
+/(.*?)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}    nT      -       -       # TODO Unicode complements should not match same character
+
+# was generating malformed utf8
+'[\x{100}\xff]'i       \x{ff}  y       $&      \x{ff}
+
+((??{ "(?:|)" }))\s    C\x20   y       -       -