Skip to content

Commit

Permalink
Add some more tests verifying correct behavior of subpattern- and bac…
Browse files Browse the repository at this point in the history
…k-reference cooperation.
  • Loading branch information
nbtrap committed Feb 16, 2014
1 parent eed3e27 commit 10a6af6
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 0 deletions.
18 changes: 18 additions & 0 deletions test/perltestdata
Original file line number Diff line number Diff line change
Expand Up @@ -14453,3 +14453,21 @@ foo)" nil nil nil nil "foofoo" t nil nil)
(1782 "\"xzzzax\" =~ /(?<=b(?&regOne)|zzz)(?<regOne>a)/" "(?<=b(?&regOne)|zzz)(?<regOne>a)" nil nil nil nil "xzzzax" t nil nil)
(1783 "\"fofof\" =~ /(.)((o)\\1)(?2)/" "(.)((o)\\1)(?2)" nil nil nil nil "fofof" nil "fofof" ("f" "of" "o"))
(1784 "\"fofog\" =~ /(.)((o)\\1)(?2)/" "(.)((o)\\1)(?2)" nil nil nil nil "fofog" nil nil nil)
(1785 "\"fofof\" =~ /(?<regOne>.)(?<regTwo>(o)\\k<regOne>)(?&regTwo)/" "(?<regOne>.)(?<regTwo>(o)\\k<regOne>)(?&regTwo)" nil nil nil nil "fofof" nil "fofof" ("f" "of" "o"))
(1786 "\"fofog\" =~ /(?<regOne>.)(?<regTwo>(o)\\k<regOne>)(?&regTwo)/" "(?<regOne>.)(?<regTwo>(o)\\k<regOne>)(?&regTwo)" nil nil nil nil "fofog" nil nil nil)
(1787 "\"ffff\" =~ /(.)(((?5))(\\1))((?4))/" "(.)(((?5))(\\1))((?4))" nil nil nil nil "ffff" nil nil nil)
(1788 "\"ffff\" =~ /(?<regOne>.)(((?&regFive))(?<regFour>\\k<regOne>))(?<regFive>(?&regFour))/" "(?<regOne>.)(((?&regFive))(?<regFour>\\k<regOne>))(?<regFive>(?&regFour))" nil nil nil nil "ffff" nil nil nil)
(1789 "\"fooo\" =~ /(.)(((?5))(\\3))((?4))/" "(.)(((?5))(\\3))((?4))" nil nil nil nil "fooo" nil nil nil)
(1790 "\"fooo\" =~ /(.)((?<regThree>(?&regFive))(?<regFour>\\k<regThree>))(?<regFive>(?&regFour))/" "(.)((?<regThree>(?&regFive))(?<regFour>\\k<regThree>))(?<regFive>(?&regFour))" nil nil nil nil "fooo" nil nil nil)
(1791 "\"oo\" =~ /(?1)((.)\\2)?/" "(?1)((.)\\2)?" nil nil nil nil "oo" nil "oo" nil)
(1792 "\"aa\" =~ /(?1)((.)\\2)?/" "(?1)((.)\\2)?" nil nil nil nil "aa" nil "aa" nil)
(1793 "\"oo\" =~ /(?&regOne)(?<regOne>(?<regTwo>.)\\k<regTwo>)?/" "(?&regOne)(?<regOne>(?<regTwo>.)\\k<regTwo>)?" nil nil nil nil "oo" nil "oo" nil)
(1794 "\"aa\" =~ /(?&regOne)(?<regOne>(?<regTwo>.)\\k<regTwo>)?/" "(?&regOne)(?<regOne>(?<regTwo>.)\\k<regTwo>)?" nil nil nil nil "aa" nil "aa" nil)
(1795 "\"ffff\" =~ /(?1)((.)\\2)/" "(?1)((.)\\2)" nil nil nil nil "ffff" nil "ffff" ("ff" "f"))
(1796 "\"ffff\" =~ /(?&regOne)(?<regOne>(?<regTwo>.)\\k<regTwo>)/" "(?&regOne)(?<regOne>(?<regTwo>.)\\k<regTwo>)" nil nil nil nil "ffff" nil "ffff" ("ff" "f"))
(1797 "\"ffffff\" =~ /(?1)((.)(?3)(\\2))/" "(?1)((.)(?3)(\\2))" nil nil nil nil "ffffff" nil nil nil)
(1798 "\"ffffff\" =~ /(?&regOne)(?<regOne>(?<regTwo>.)(?&regThree)(\\k<regTwo>))/" "(?&regOne)(?<regOne>(?<regTwo>.)(?&regThree)(\\k<regTwo>))" nil nil nil nil "ffffff" t nil nil)
(1799 "\"foffoff\" =~ /(.)(?2)((.)(?4)(\\1))/" "(.)(?2)((.)(?4)(\\1))" nil nil nil nil "foffoff" nil nil nil)
(1800 "\"foffoff\" =~ /(?<regOne>.)(?&regTwo)(?<regTwo>(.)(?&regFour)(?<regFour>\\k<regOne>))/" "(?<regOne>.)(?&regTwo)(?<regTwo>(.)(?&regFour)(?<regFour>\\k<regOne>))" nil nil nil nil "foffoff" nil nil nil)
(1801 "\"fffffff\" =~ /(.)(?2)((\\1)(?4)(\\1))/" "(.)(?2)((\\1)(?4)(\\1))" nil nil nil nil "fffffff" nil nil nil)
(1802 "\"fffffff\" =~ /(?<regOne>.)(?&regTwo)(?<regTwo>(\\k<regOne>)(?&regFour)(?<regFour>\\k<regOne>))/" "(?<regOne>.)(?&regTwo)(?<regTwo>(\\k<regOne>)(?&regFour)(?<regFour>\\k<regOne>))" nil nil nil nil "fffffff" nil nil nil)
Expand Down
48 changes: 48 additions & 0 deletions test/perltestinput
Original file line number Diff line number Diff line change
Expand Up @@ -4279,3 +4279,51 @@ foo)/
/(.)((o)\1)(?2)/
fofof
fofog

/(?<regOne>.)(?<regTwo>(o)\k<regOne>)(?&regTwo)/
fofof
fofog

/(.)(((?5))(\1))((?4))/
ffff

/(?<regOne>.)(((?&regFive))(?<regFour>\k<regOne>))(?<regFive>(?&regFour))/
ffff

/(.)(((?5))(\3))((?4))/
fooo

/(.)((?<regThree>(?&regFive))(?<regFour>\k<regThree>))(?<regFive>(?&regFour))/
fooo

/(?1)((.)\2)?/
oo
aa

/(?&regOne)(?<regOne>(?<regTwo>.)\k<regTwo>)?/
oo
aa

/(?1)((.)\2)/
ffff

/(?&regOne)(?<regOne>(?<regTwo>.)\k<regTwo>)/
ffff

/(?1)((.)(?3)(\2))/
ffffff

/(?&regOne)(?<regOne>(?<regTwo>.)(?&regThree)(\k<regTwo>))/
ffffff

/(.)(?2)((.)(?4)(\1))/
foffoff

/(?<regOne>.)(?&regTwo)(?<regTwo>(.)(?&regFour)(?<regFour>\k<regOne>))/
foffoff

/(.)(?2)((\1)(?4)(\1))/
fffffff

/(?<regOne>.)(?&regTwo)(?<regTwo>(\k<regOne>)(?&regFour)(?<regFour>\k<regOne>))/
fffffff
Expand Down

0 comments on commit 10a6af6

Please sign in to comment.