Integrate:
authorNicholas Clark <nick@ccl4.org>
Sun, 16 Nov 2008 20:09:25 +0000 (20:09 +0000)
committerNicholas Clark <nick@ccl4.org>
Sun, 16 Nov 2008 20:09:25 +0000 (20:09 +0000)
[ 30980]
Subject: Re: new C3 MRO patch
From: "Brandon Black" <blblack@gmail.com>
Date: Tue, 17 Apr 2007 13:14:36 -0500
Message-ID: <84621a60704171114k29b0460el5b08ce5185d55ed5@mail.gmail.com>

[the t/TEST part]

[ 31018]
Make t/harness find the t/mro tests

[ 34846]
Integrate:
[ 34839]
Subject: MRO tests for isa() and package aliases
From: Torsten Schoenfeld <kaffeetisch@gmx.de>
Date: Sat, 15 Nov 2008 21:24:40 +0100
Message-ID: <491F3008.4060205@gmx.de>
p4raw-link: @34846 on //depot/maint-5.10/perl: f324ec63316b94af64b166a44b51c761970faa5e
p4raw-link: @34839 on //depot/perl: 0643ac23d9959ac64e372f8c84ce026bffd9d7bf
p4raw-link: @31018 on //depot/perl: 65e807b815b1236dd131a40c532f9d657948ba20
p4raw-link: @30980 on //depot/perl: e1a479c5e0c08fb10925261f03573261c69ca0dc

p4raw-id: //depot/maint-5.8/perl@34853
p4raw-branched: from //depot/maint-5.10/perl@34849 'branch in'
t/mro/package_aliases.t
p4raw-integrated: from //depot/maint-5.10/perl@34849 'edit in' MANIFEST
(@34665..)
p4raw-integrated: from //depot/perl@31018 'merge in' t/harness
(@28790..)
p4raw-integrated: from //depot/perl@30980 'merge in' t/TEST (@30777..)

MANIFEST
t/TEST
t/harness
t/mro/package_aliases.t [new file with mode: 0644]

index ef120b8..d1718ce 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -3044,6 +3044,7 @@ t/Module_Pluggable/lib/MyTest/Plugin/Quux/Foo.pm  Module::Pluggable tests
 t/Module_Pluggable/lib/No/Middle.pm    Module::Pluggable tests
 t/Module_Pluggable/lib/OddTest/Plugin/Foo.pm   Module::Pluggable tests
 t/Module_Pluggable/lib/TA/C/A/I.pm     Module::Pluggable tests
+t/mro/package_aliases.t                mro tests
 Todo.micro                     The Wishlist for microperl
 toke.c                         The tokener
 t/op/64bitint.t                        See if 64 bit integers work
diff --git a/t/TEST b/t/TEST
index 5bae7a2..2175279 100755 (executable)
--- a/t/TEST
+++ b/t/TEST
@@ -106,7 +106,7 @@ sub _populate_hash {
 }
 
 unless (@ARGV) {
-    foreach my $dir (qw(base comp cmd run io op uni)) {
+    foreach my $dir (qw(base comp cmd run io op uni mro)) {
        _find_tests($dir);
     }
     _find_tests("lib") unless $::core;
index e424369..a2f64be 100644 (file)
--- a/t/harness
+++ b/t/harness
@@ -81,6 +81,7 @@ if (@ARGV) {
         push @tests, <io/*.t>;
         push @tests, <op/*.t>;
         push @tests, <uni/*.t>;
+        push @tests, <mro/*.t>;
         push @tests, <lib/*.t>;
         push @tests, <japh/*.t> if $torture;
        push @tests, <win32/*.t> if $^O eq 'MSWin32';
diff --git a/t/mro/package_aliases.t b/t/mro/package_aliases.t
new file mode 100644 (file)
index 0000000..b8d0316
--- /dev/null
@@ -0,0 +1,33 @@
+#!./perl
+
+BEGIN {
+    unless (-d 'blib') {
+        chdir 't' if -d 't';
+        @INC = '../lib';
+    }
+}
+
+use strict;
+use warnings;
+require q(./test.pl); plan(tests => 4);
+
+{
+    package New;
+    use strict;
+    use warnings;
+
+    package Old;
+    use strict;
+    use warnings;
+
+    {
+      no strict 'refs';
+      *{'Old::'} = *{'New::'};
+    }
+}
+
+ok (Old->isa (New::), 'Old inherits from New');
+ok (New->isa (Old::), 'New inherits from Old');
+
+isa_ok (bless ({}, Old::), New::, 'Old object');
+isa_ok (bless ({}, New::), Old::, 'New object');