From d4caa31ca688ab775f0359f7ede20722b7395f23 Mon Sep 17 00:00:00 2001
From: Gisle Aas <gisle@activestate.com>
Date: Tue, 29 Mar 2011 10:45:10 -0800
Subject: [PATCH] Skip strict match on stringified regexps for perl-5.14
Only leave tests that verify that the regexps can be loaded back
and still match the expected strings.
Ref
https://rt.cpan.org/Ticket/Display.html?id=62266
---
t/regexp.t | 31 ++++++++++++++++++++++++-------
1 files changed, 24 insertions(+), 7 deletions(-)
diff --git a/t/regexp.t b/t/regexp.t
index e6e5477..c2d9db2 100644
--- a/t/regexp.t
+++ b/t/regexp.t
@@ -4,21 +4,27 @@ use Devel::Peek();
my $rx1 = qr/5050/;
my $yaml1 = Dump $rx1;
-is $yaml1, <<'...', 'Regular regexp dumps';
---- !!perl/regexp (?-xism:5050)
-...
-
my $rx2 = qr/99999/;
bless $rx2, 'Classy';
my $yaml2 = Dump $rx2;
+my $rx3 = qr/^edcba/mi;
+my $yaml3 = Dump $rx3;
+
+sub perl514 {
+ #
https://rt.cpan.org/Ticket/Display.html?id=62266
+ skip "perl-5.14 regexp stringification is different", shift || 1 if $] > 5.013;
+}
+
+SKIP: { perl514 5;
+is $yaml1, <<'...', 'Regular regexp dumps';
+--- !!perl/regexp (?-xism:5050)
+...
+
is $yaml2, <<'...', 'Blessed regular regexp dumps';
--- !!perl/regexp:Classy (?-xism:99999)
...
-my $rx3 = qr/^edcba/mi;
-my $yaml3 = Dump $rx3;
-
is $yaml3, <<'...', 'Regexp with flags dumps';
--- !!perl/regexp (?mi-xs:^edcba)
...
@@ -37,27 +43,38 @@ my $yaml5 = Dump $rx5;
is $yaml5, <<"...", 'Unicode regexp dumps';
--- !!perl/regexp (?-xism:\xC4\x80)
...
+}
my $rx1_ = Load($yaml1);
is ref($rx1_), 'Regexp', 'Can Load a regular regexp';
+SKIP: { perl514;
is $rx1_, '(?-xism:5050)', 'Loaded regexp value is correct';
+}
like "404050506060", $rx1_, 'Loaded regexp works';
my $rx2_ = Load($yaml2);
is ref($rx2_), 'Classy', 'Can Load a blessed regexp';
+SKIP: { perl514;
is $rx2_, '(?-xism:99999)', 'Loaded blessed regexp value is correct';
+}
ok "999999999" =~ $rx2_, 'Loaded blessed regexp works';
my $rx3_ = Load($yaml3);
is ref($rx3_), 'Regexp', 'Can Load a regexp with flags';
+SKIP: { perl514;
is $rx3_, '(?mi-xs:^edcba)', 'Loaded regexp with flags value is correct';
+}
like "foo\neDcBA\n", $rx3_, 'Loaded regexp with flags works';
my $rx4_ = Load("--- !!perl/regexp (?msix:123)\n");
is ref($rx4_), 'Regexp', 'Can Load a regexp with all flags';
+SKIP: { perl514;
is $rx4_, '(?msix:123)', 'Loaded regexp with all flags value is correct';
+}
my $rx5_ = Load("--- !!perl/regexp (?msix:\xC4\x80)\n");
is ref($rx5_), 'Regexp', 'Can Load a unicode regexp';
+SKIP: { perl514;
is $rx5_, "(?msix:\x{100})", 'Loaded unicode regexp value is correct';
+}
--
1.7.0.5