Moose now warns when you try to load it from the main package. Added a
[gitmo/Moose.git] / t / 010_basics / 002_require_superclasses.t
CommitLineData
d7f17ebb 1#!/usr/bin/perl
2
3use strict;
4use warnings;
5
6use lib 't/lib', 'lib';
7
7ff56534 8use Test::More tests => 5;
9
d7f17ebb 10
d7f17ebb 11
12{
13 package Bar;
d7f17ebb 14 use Moose;
15
16 eval { extends 'Foo'; };
17 ::ok(!$@, '... loaded Foo superclass correctly');
18}
19
20{
21 package Baz;
d7f17ebb 22 use Moose;
23
24 eval { extends 'Bar'; };
25 ::ok(!$@, '... loaded (inline) Bar superclass correctly');
26}
27
28{
29 package Foo::Bar;
d7f17ebb 30 use Moose;
31
32 eval { extends 'Foo', 'Bar'; };
33 ::ok(!$@, '... loaded Foo and (inline) Bar superclass correctly');
34}
35
7eaef7ad 36{
37 package Bling;
7eaef7ad 38 use Moose;
39
40 eval { extends 'No::Class'; };
41 ::ok($@, '... could not find the superclass (as expected)');
1eaed09d 42 ::like($@, qr/^Could not load class \(No\:\:Class\) because \:/, '... and got the error we expected');
7eaef7ad 43}
44