summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>2001-06-04 05:12:18 +0000
committerGurusamy Sarathy <gsar@cpan.org>2001-06-04 05:12:18 +0000
commit2adfde1164f2f7bf49213c3f63270cd60ed0bf48 (patch)
treeecd8cc874ea92a5d3d0fbff1d5c16806f5f7ca96 /t
parent260c8f4e3d4eaa915ae732dbd535fa837cefab52 (diff)
downloadperl-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-xt/op/override.t63
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";