Merge some tests to one file
[gitmo/Mouse.git] / t / 001_mouse / 002-subclass.t
1 #!/usr/bin/env perl
2 use strict;
3 use warnings;
4 use Test::More;
5 use lib 't/lib';
6
7 # auto-subclass
8 do {
9     package Class;
10     use Mouse;
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;
24
25     package Child;
26     use Mouse;
27     extends 'ParentClass';
28
29     package Mouse::TestClass;
30     use Mouse;
31     extends 'Unsweetened'; # in t/lib
32
33     sub mouse { 1 }
34 };
35
36 can_ok(Child => 'new');
37
38 my $child = Child->new;
39
40 isa_ok($child => 'Child');
41 isa_ok($child => 'ParentClass');
42 isa_ok($child => 'Mouse::Object');
43
44 can_ok('Mouse::TestClass' => qw(mouse unsweetened));
45
46 eval q{
47     package Child;
48     use Mouse;
49 };
50
51 isa_ok($child => 'ParentClass');
52 isa_ok($child => 'Mouse::Object');
53
54 done_testing;