diff options
author | 2013-03-25 20:06:16 +0000 | |
---|---|---|
committer | 2013-03-25 20:06:16 +0000 | |
commit | 898184e3e61f9129feb5978fad5a8c6865f00b92 (patch) | |
tree | 56f32aefc1eed60b534611007c7856f82697a205 /gnu/usr.bin/perl/lib/overloading.t | |
parent | PGSHIFT -> PAGE_SHIFT (diff) | |
download | wireguard-openbsd-898184e3e61f9129feb5978fad5a8c6865f00b92.tar.xz wireguard-openbsd-898184e3e61f9129feb5978fad5a8c6865f00b92.zip |
import perl 5.16.3 from CPAN - worked on by Andrew Fresh and myself
Diffstat (limited to 'gnu/usr.bin/perl/lib/overloading.t')
-rwxr-xr-x | gnu/usr.bin/perl/lib/overloading.t | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/gnu/usr.bin/perl/lib/overloading.t b/gnu/usr.bin/perl/lib/overloading.t index cedfc516ccc..85fc7e2c947 100755 --- a/gnu/usr.bin/perl/lib/overloading.t +++ b/gnu/usr.bin/perl/lib/overloading.t @@ -1,14 +1,6 @@ #./perl -BEGIN { - chdir 't' if -d 't'; - @INC = '../lib'; -} - -BEGIN { - require "./test.pl"; - plan(tests => 35); -} +use Test::More tests => 50; use Scalar::Util qw(refaddr); @@ -26,20 +18,25 @@ use Scalar::Util qw(refaddr); } my $x = Stringifies->new; +my $y = qr//; +my $ystr = "$y"; is( "$x", "foo", "stringifies" ); +is( "$y", $ystr, "stringifies qr//" ); is( 0 + $x, 42, "numifies" ); is( cos($x), "far side of overload table", "cosinusfies" ); { no overloading; is( "$x", overload::StrVal($x), "no stringification" ); + is( "$y", overload::StrVal($y), "no stringification of qr//" ); is( 0 + $x, refaddr($x), "no numification" ); is( cos($x), cos(refaddr($x)), "no cosinusfication" ); { no overloading '""'; is( "$x", overload::StrVal($x), "no stringification" ); + is( "$y", overload::StrVal($y), "no stringification of qr//" ); is( 0 + $x, refaddr($x), "no numification" ); is( cos($x), cos(refaddr($x)), "no cosinusfication" ); } @@ -49,12 +46,24 @@ is( cos($x), "far side of overload table", "cosinusfies" ); no overloading '""'; is( "$x", overload::StrVal($x), "no stringification" ); + is( "$y", overload::StrVal($y), "no stringification of qr//" ); is( 0 + $x, 42, "numifies" ); is( cos($x), "far side of overload table", "cosinusfies" ); + my $q = qr/abc/; + ok "abc" =~ $q, '=~ qr// with no "" overloading'; + ok "abcd" =~ /${q}d/, '=~ /foo$qr/ with no "" overloading'; + { + no overloading 'qr'; + my $q = qr/abc/; + ok "abc" =~ $q, '=~ qr// with no "" or qr overloading'; + ok "abcd" =~ /${q}d/, '=~ /foo$qr/ with no "" or qr overloading'; + } + { no overloading; is( "$x", overload::StrVal($x), "no stringification" ); + is( "$y", overload::StrVal($y), "no stringification of qr//" ); is( 0 + $x, refaddr($x), "no numification" ); is( cos($x), cos(refaddr($x)), "no cosinusfication" ); } @@ -62,34 +71,40 @@ is( cos($x), "far side of overload table", "cosinusfies" ); use overloading '""'; is( "$x", "foo", "stringifies" ); + is( "$y", $ystr, "stringifies qr//" ); is( 0 + $x, 42, "numifies" ); is( cos($x), "far side of overload table", "cosinusfies" ); no overloading '0+'; is( "$x", "foo", "stringifies" ); + is( "$y", $ystr, "stringifies qr//" ); is( 0 + $x, refaddr($x), "no numification" ); is( cos($x), "far side of overload table", "cosinusfies" ); { no overloading '""'; is( "$x", overload::StrVal($x), "no stringification" ); + is( "$y", overload::StrVal($y), "no stringification of qr//" ); is( 0 + $x, refaddr($x), "no numification" ); is( cos($x), "far side of overload table", "cosinusfies" ); { use overloading; is( "$x", "foo", "stringifies" ); + is( "$y", $ystr, "stringifies qr//" ); is( 0 + $x, 42, "numifies" ); is( cos($x), "far side of overload table", "cosinusfies" ); } } is( "$x", "foo", "stringifies" ); + is( "$y", $ystr, "stringifies qr//" ); is( 0 + $x, refaddr($x), "no numification" ); is( cos($x), "far side of overload table", "cosinusfies" ); no overloading "cos"; is( "$x", "foo", "stringifies" ); + is( "$y", $ystr, "stringifies qr//" ); is( 0 + $x, refaddr($x), "no numification" ); is( cos($x), cos(refaddr($x)), "no cosinusfication" ); |