summaryrefslogtreecommitdiff
path: root/t/mro
diff options
context:
space:
mode:
authorRick Delaney <rick@consumercontact.com>2008-01-09 08:36:55 -0500
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2008-01-11 10:42:13 +0000
commit52b4506763c1e322f848f17908bebdf7672f168e (patch)
tree50379905e343a88fea99bebab56c5148b688f0e3 /t/mro
parent4b48cf39454aea22003054f8b0a85963f328fe30 (diff)
downloadperl-52b4506763c1e322f848f17908bebdf7672f168e.tar.gz
Re: [perl #49564] Re: MRO and av_clear
Message-ID: <20080109183655.GB11282@bort.ca> p4raw-id: //depot/perl@32948
Diffstat (limited to 't/mro')
-rw-r--r--t/mro/basic.t15
1 files changed, 14 insertions, 1 deletions
diff --git a/t/mro/basic.t b/t/mro/basic.t
index 1b186617df..6dce364285 100644
--- a/t/mro/basic.t
+++ b/t/mro/basic.t
@@ -3,7 +3,7 @@
use strict;
use warnings;
-require q(./test.pl); plan(tests => 38);
+require q(./test.pl); plan(tests => 40);
{
package MRO_A;
@@ -173,6 +173,19 @@ is(eval { MRO_N->testfunc() }, 123);
ok(eq_array(mro::get_linear_isa('ISACLEAR1'),[qw/ISACLEAR1/]));
ok(eq_array(mro::get_linear_isa('ISACLEAR2'),[qw/ISACLEAR2/]));
+
+ # [perl #49564] This is a pretty obscure way of clearing @ISA but
+ # it tests a regression that affects XS code calling av_clear too.
+ {
+ package ISACLEAR3;
+ our @ISA = qw/WW XX/;
+ }
+ ok(eq_array(mro::get_linear_isa('ISACLEAR3'),[qw/ISACLEAR3 WW XX/]));
+ {
+ package ISACLEAR3;
+ reset 'I';
+ }
+ ok(eq_array(mro::get_linear_isa('ISACLEAR3'),[qw/ISACLEAR3/]));
}
# Check that recursion bails out "cleanly" in a variety of cases