4 if( $ENV{PERL_CORE} ) {
11 use Test::More tests => 11;
21 package Test::Version;
23 use base qw(No::Version);
24 ::ok( $No::Version::VERSION =~ /set by base\.pm/, '$VERSION bug' );
26 # Test Inverse of $VERSION bug base.pm should not clobber existing $VERSION
29 BEGIN { $Has::Version::VERSION = '42' };
31 package Test::Version2;
33 use base qw(Has::Version);
34 ::is( $Has::Version::VERSION, 42 );
44 $Eval2::VERSION = "1.02";
46 $Eval1::VERSION = "1.01";
53 is( $Eval1::VERSION, 1.01 );
55 is( $Eval2::VERSION, 1.02 );
58 eval q{use base 'reallyReAlLyNotexists'};
59 like( $@, qr/^Base class package "reallyReAlLyNotexists" is empty\./,
60 'base with empty package');
62 eval q{use base 'reallyReAlLyNotexists'};
63 like( $@, qr/^Base class package "reallyReAlLyNotexists" is empty\./,
64 ' still empty on 2nd load');
67 local $SIG{__WARN__} = sub { $warning = shift };
68 eval q{package HomoGenous; use base 'HomoGenous';};
69 like($warning, qr/^Class 'HomoGenous' tried to inherit from itself/,
74 BEGIN { $Has::Version_0::VERSION = 0 }
76 package Test::Version3;
78 use base qw(Has::Version_0);
79 ::is( $Has::Version_0::VERSION, 0, '$VERSION==0 preserved' );
85 use constant FIELDS => 6;
88 eval q{ use base 'Schlozhauer' };
89 ::is( $@, '', 'Can coexist with a FIELDS constant' );