4 use Test::More tests => 10;
14 package Test::Version;
16 use base qw(No::Version);
17 ::ok( $No::Version::VERSION =~ /set by base\.pm/, '$VERSION bug' );
19 # Test Inverse of $VERSION bug base.pm should not clobber existing $VERSION
22 BEGIN { $Has::Version::VERSION = '42' };
24 package Test::Version2;
26 use base qw(Has::Version);
27 ::is( $Has::Version::VERSION, 42 );
37 $Eval2::VERSION = "1.02";
39 $Eval1::VERSION = "1.01";
46 is( $Eval1::VERSION, 1.01 );
48 is( $Eval2::VERSION, 1.02 );
51 eval q{use base 'reallyReAlLyNotexists'};
52 like( $@, qr/^Base class package "reallyReAlLyNotexists" is empty./,
53 'base with empty package');
55 eval q{use base 'reallyReAlLyNotexists'};
56 like( $@, qr/^Base class package "reallyReAlLyNotexists" is empty./,
57 ' still empty on 2nd load');
59 BEGIN { $Has::Version_0::VERSION = 0 }
61 package Test::Version3;
63 use base qw(Has::Version_0);
64 ::is( $Has::Version_0::VERSION, 0, '$VERSION==0 preserved' );
70 local $SIG{__DIE__} = sub {
71 ::fail('sigdie not caught, this test should not run')
74 'base'->import(qw(Huh::Boo));
77 ::like($@, qr/^Base class package "Huh::Boo" is empty/,
78 'Base class empty error message');