Commit | Line | Data |
---|---|---|
c3398f5b | 1 | #!/usr/bin/env perl |
2 | use strict; | |
3 | use warnings; | |
28e04346 | 4 | use Test::More; |
c3398f5b | 5 | use lib 't/lib'; |
6 | ||
28e04346 | 7 | # auto-subclass |
c3398f5b | 8 | do { |
9 | package Class; | |
10 | use Mouse; | |
28e04346 | 11 | }; |
12 | ||
13 | can_ok(Class => 'new'); | |
14 | ||
15 | my $object = Class->new; | |
16 | ||
17 | isa_ok($object => 'Class'); | |
18 | isa_ok($object => 'Mouse::Object'); | |
19 | ||
20 | # extends() | |
21 | do { | |
22 | package ParentClass; | |
23 | use Mouse; | |
c3398f5b | 24 | |
25 | package Child; | |
26 | use Mouse; | |
28e04346 | 27 | extends 'ParentClass'; |
c3398f5b | 28 | |
29 | package Mouse::TestClass; | |
30 | use Mouse; | |
28e04346 | 31 | extends 'Unsweetened'; # in t/lib |
c3398f5b | 32 | |
33 | sub mouse { 1 } | |
34 | }; | |
35 | ||
36 | can_ok(Child => 'new'); | |
37 | ||
38 | my $child = Child->new; | |
39 | ||
40 | isa_ok($child => 'Child'); | |
28e04346 | 41 | isa_ok($child => 'ParentClass'); |
c3398f5b | 42 | isa_ok($child => 'Mouse::Object'); |
43 | ||
abe28e11 | 44 | can_ok('Mouse::TestClass' => qw(mouse unsweetened)); |
c3398f5b | 45 | |
28e04346 | 46 | eval q{ |
ca73a208 | 47 | package Child; |
48 | use Mouse; | |
28e04346 | 49 | }; |
ca73a208 | 50 | |
28e04346 | 51 | isa_ok($child => 'ParentClass'); |
ca73a208 | 52 | isa_ok($child => 'Mouse::Object'); |
53 | ||
28e04346 | 54 | done_testing; |