3 # This is the test subs used for regex testing.
4 # This used to be part of re/pat.t
18 our $ordA = ord ('A'); # This defines ASCII/UTF-8 vs EBCDIC/UTF-EBCDIC
19 # This defined the platform.
20 our $IS_ASCII = $ordA == 65;
21 our $IS_EBCDIC = $ordA == 193;
26 my ($code, $name) = @_;
29 ok(eval {&$code} && !$@, $name);
32 ok(eval ($code) && !$@, $name);
37 my ($code, $pattern, $name) = @_;
38 Carp::confess("Bad pattern") unless $pattern;
40 ref $code ? &$code : eval $code;
41 like($@, $pattern, $name // "\$\@ =~ /$pattern/");
45 my ($code, $pattern, $name) = @_;
46 Carp::confess("Bad pattern") unless $pattern;
48 local $SIG {__WARN__} = sub {$w .= join "" => @_};
50 ref $code ? &$code : eval $code;
51 like($w, qr/$pattern/, "Got warning /$pattern/");
55 my ($code, $name) = @_;
57 local $SIG {__WARN__} = sub {$w .= join "" => @_};
59 ref $code ? &$code : eval $code;
60 is($w, undef, $name) or diag("Got warning '$w'");