summaryrefslogtreecommitdiff
path: root/t/op
diff options
context:
space:
mode:
authorJerry D. Hedden <jdhedden@cpan.org>2008-01-08 10:01:02 -0500
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2008-01-09 10:54:27 +0000
commit192c1e277b50bfcbfdd3717ce2ae7c1a42fa9601 (patch)
tree3f970a6b8a3990c88ffdf00716b975ddc426dcee /t/op
parent2e8342de65fb9cb7fd716c30bbddc9c0f4311ba0 (diff)
downloadperl-192c1e277b50bfcbfdd3717ce2ae7c1a42fa9601.tar.gz
Move re::regexp_pattern to universal.c
From: "Jerry D. Hedden" <jdhedden@cpan.org> Message-ID: <1ff86f510801081201q5c36f055re6165ebfe8876c2e@mail.gmail.com> p4raw-id: //depot/perl@32911
Diffstat (limited to 't/op')
-rw-r--r--t/op/re.t46
1 files changed, 46 insertions, 0 deletions
diff --git a/t/op/re.t b/t/op/re.t
new file mode 100644
index 0000000000..d098bdc7da
--- /dev/null
+++ b/t/op/re.t
@@ -0,0 +1,46 @@
+#!./perl
+
+BEGIN {
+ chdir 't' if -d 't';
+ @INC = '../lib';
+}
+
+use strict;
+use warnings;
+
+use Test::More; # test count at bottom of file
+use re qw(is_regexp regexp_pattern
+ regname regnames regnames_count);
+{
+ my $qr=qr/foo/pi;
+ ok(is_regexp($qr),'is_regexp($qr)');
+ ok(!is_regexp(''),'is_regexp("")');
+ is((regexp_pattern($qr))[0],'foo','regexp_pattern[0]');
+ is((regexp_pattern($qr))[1],'ip','regexp_pattern[1]');
+ is(regexp_pattern($qr),'(?pi-xsm:foo)','scalar regexp_pattern');
+ ok(!regexp_pattern(''),'!regexp_pattern("")');
+}
+
+if ('1234'=~/(?:(?<A>\d)|(?<C>!))(?<B>\d)(?<A>\d)(?<B>\d)/){
+ my @names = sort +regnames();
+ is("@names","A B","regnames");
+ @names = sort +regnames(0);
+ is("@names","A B","regnames");
+ my $names = regnames();
+ is($names, "B", "regnames in scalar context");
+ @names = sort +regnames(1);
+ is("@names","A B C","regnames");
+ is(join("", @{regname("A",1)}),"13");
+ is(join("", @{regname("B",1)}),"24");
+ {
+ if ('foobar'=~/(?<foo>foo)(?<bar>bar)/) {
+ is(regnames_count(),2);
+ } else {
+ ok(0); ok(0);
+ }
+ }
+ is(regnames_count(),3);
+}
+# New tests above this line, don't forget to update the test count below!
+use Test::More tests => 14;
+# No tests here!