diff options
Diffstat (limited to 't/001-basic.t')
-rw-r--r-- | t/001-basic.t | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/t/001-basic.t b/t/001-basic.t index 44a68dd..d5951d4 100644 --- a/t/001-basic.t +++ b/t/001-basic.t @@ -1,7 +1,7 @@ #!/usr/bin/env perl use strict; use warnings; -use Test::More tests => 5; +use Test::More tests => 9; use Test::Exception; package Foo; @@ -22,10 +22,19 @@ use Moose; 'extending fails with the correct error when requires are not fulfilled'; sub bar { } +package Foo::Sub::Sub; +use Moose; +::lives_ok { extends 'Foo::Sub1' } 'extending twice works'; + package main; my $foosub; lives_ok { $foosub = Foo::Sub1->new } 'instantiating concrete subclasses works'; isa_ok($foosub, 'Foo', 'inheritance is correct'); +my $foosubsub; +lives_ok { $foosubsub = Foo::Sub::Sub->new } + 'instantiating deeper concrete subclasses works'; +isa_ok($foosubsub, 'Foo', 'inheritance is correct'); +isa_ok($foosubsub, 'Foo::Sub1', 'inheritance is correct'); throws_ok { Foo->new } qr/Foo is abstract, it cannot be instantiated/, 'instantiating abstract classes fails'; |