This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Clean up unused 'popt' variable in perl.c
[perl5.git] / t / mro / pkg_gen.t
CommitLineData
70cd14a1
CB
1#!./perl
2
3use strict;
4use warnings;
5
6chdir 't' if -d 't';
7require q(./test.pl); plan(tests => 6);
8
9{
10 package Foo;
11 our @ISA = qw//;
12}
13
14ok(!mro::get_pkg_gen('ReallyDoesNotExist'),
15 "pkg_gen 0 for non-existant pkg");
16
17my $f_gen = mro::get_pkg_gen('Foo');
18ok($f_gen > 0, 'Foo pkg_gen > 0');
19
20{
21 no warnings 'once';
22 *Foo::foo_func = sub { 123 };
23}
24my $new_f_gen = mro::get_pkg_gen('Foo');
25ok($new_f_gen > $f_gen, 'Foo pkg_gen incs for methods');
26$f_gen = $new_f_gen;
27
28@Foo::ISA = qw/Bar/;
29$new_f_gen = mro::get_pkg_gen('Foo');
30ok($new_f_gen > $f_gen, 'Foo pkg_gen incs for @ISA');
31
32undef %Foo::;
33is(mro::get_pkg_gen('Foo'), 1, "pkg_gen 1 for undef %Pkg::");
34
35delete $::{"Foo::"};
36is(mro::get_pkg_gen('Foo'), 0, 'pkg_gen 0 for delete $::{Pkg::}');