moose
[gitmo/Moose.git] / t / 011_require_superclasses.t
CommitLineData
d7f17ebb 1#!/usr/bin/perl
2
3use strict;
4use warnings;
5
6use lib 't/lib', 'lib';
7
7eaef7ad 8use Test::More tests => 6;
d7f17ebb 9
10BEGIN {
11 use_ok('Moose');
12}
13
14{
15 package Bar;
16 use strict;
17 use warnings;
18 use Moose;
19
20 eval { extends 'Foo'; };
21 ::ok(!$@, '... loaded Foo superclass correctly');
22}
23
24{
25 package Baz;
26 use strict;
27 use warnings;
28 use Moose;
29
30 eval { extends 'Bar'; };
31 ::ok(!$@, '... loaded (inline) Bar superclass correctly');
32}
33
34{
35 package Foo::Bar;
36 use strict;
37 use warnings;
38 use Moose;
39
40 eval { extends 'Foo', 'Bar'; };
41 ::ok(!$@, '... loaded Foo and (inline) Bar superclass correctly');
42}
43
7eaef7ad 44{
45 package Bling;
46 use strict;
47 use warnings;
48 use Moose;
49
50 eval { extends 'No::Class'; };
51 ::ok($@, '... could not find the superclass (as expected)');
52 ::like($@, qr/^Could not load superclass 'No\:\:Class' because \:/, '... and got the error we expected');
53}
54