diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 2001-06-04 05:12:18 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 2001-06-04 05:12:18 +0000 |
commit | 2adfde1164f2f7bf49213c3f63270cd60ed0bf48 (patch) | |
tree | ecd8cc874ea92a5d3d0fbff1d5c16806f5f7ca96 /t | |
parent | 260c8f4e3d4eaa915ae732dbd535fa837cefab52 (diff) | |
download | perl-2adfde1164f2f7bf49213c3f63270cd60ed0bf48.tar.gz |
testsuite for change#10192 (from Gisle Aas)
p4raw-link: @10192 on //depot/perl: ec4ab249deaa88f5a071536b0473504f26c43486
p4raw-id: //depot/perl@10423
Diffstat (limited to 't')
-rwxr-xr-x | t/op/override.t | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/t/op/override.t b/t/op/override.t new file mode 100755 index 0000000000..d24bdee31a --- /dev/null +++ b/t/op/override.t @@ -0,0 +1,63 @@ +#!./perl + +BEGIN { + chdir 't' if -d 't'; + @INC = '.'; + push @INC, '../lib'; +} + +print "1..10\n"; + +# +# This file tries to test builtin override using CORE::GLOBAL +# +my $dirsep = "/"; + +BEGIN { package Foo; *main::getlogin = sub { "kilroy"; } } + +print "not " unless getlogin eq "kilroy"; +print "ok 1\n"; + +my $t = 42; +BEGIN { *CORE::GLOBAL::time = sub () { $t; } } + +print "not " unless 45 == time + 3; +print "ok 2\n"; + +# +# require has special behaviour +# +my $r; +BEGIN { *CORE::GLOBAL::require = sub { $r = shift; 1; } } + +require Foo; +print "not " unless $r eq "Foo.pm"; +print "ok 3\n"; + +require Foo::Bar; +print "not " unless $r eq join($dirsep, "Foo", "Bar.pm"); +print "ok 4\n"; + +require 'Foo'; +print "not " unless $r eq "Foo"; +print "ok 5\n"; + +require 5.6; +print "not " unless $r eq "5.6"; +print "ok 6\n"; + +require v5.6; +print "not " unless $r == 5.006 && $r eq "\x05\x06"; +print "ok 7\n"; + +eval "use Foo"; +print "not " unless $r eq "Foo.pm"; +print "ok 8\n"; + +eval "use Foo::Bar"; +print "not " unless $r eq join($dirsep, "Foo", "Bar.pm"); +print "ok 9\n"; + +eval "use 5.6"; +print "not " unless $r eq "5.6"; +print "ok 10\n"; |