diff options
Diffstat (limited to 't/002_base.t')
-rw-r--r-- | t/002_base.t | 50 |
1 files changed, 37 insertions, 13 deletions
diff --git a/t/002_base.t b/t/002_base.t index ae2d4a1..007ced2 100644 --- a/t/002_base.t +++ b/t/002_base.t @@ -2,21 +2,45 @@ use strict; use warnings; -use Test::More tests => 6; +use Test::More tests => 16; BEGIN { use_ok( 'Package::New' ); } -my $object = My::Package->new(x=>1, y=>"a"); -isa_ok($object, 'Package::New'); -isa_ok($object, 'My::Package'); +{ + my $object = My::Package->new(x=>1, y=>"a"); + isa_ok($object, 'Package::New'); + isa_ok($object, 'My::Package'); -can_ok($object, qw{new initialize x y}); -is($object->x, "1", "args work"); -is($object->y, "a", "args work"); + can_ok($object, qw{new initialize x y}); + is($object->x, "1", "args work"); + is($object->y, "a", "args work"); +} -package #Hide from CPAN -My::Package; -use base qw{Package::New}; -sub x {shift->{"x"}}; -sub y {shift->{"y"}}; -1; +{ + my $object = My::Package->new(x=>undef)->new(x=>1, y=>"a"); + isa_ok($object, 'Package::New'); + isa_ok($object, 'My::Package'); + + can_ok($object, qw{new initialize x y}); + is($object->x, "1", "args work"); + is($object->y, "a", "args work"); +} + +{ + my $object = new My::Package x=>1, y=>"a"; + isa_ok($object, 'Package::New'); + isa_ok($object, 'My::Package'); + + can_ok($object, qw{new initialize x y}); + is($object->x, "1", "args work"); + is($object->y, "a", "args work"); +} + +{ + package #Hide from CPAN + My::Package; + use base qw{Package::New}; + sub x {shift->{"x"}}; + sub y {shift->{"y"}}; + 1; +} |