adding ->parent_registry to the TC registry object
[gitmo/Moose.git] / t / 401_moose_util_does_role.t
1 #!/usr/bin/perl
2
3 use strict;
4 use warnings;
5
6 use Test::More tests => 7;
7
8 BEGIN {
9     use_ok('Moose::Util', ':all');
10 }
11
12 {
13   package Foo;
14
15   use Moose::Role;
16 }
17
18 {
19   package Bar;
20
21   use Moose;
22
23   with qw/Foo/;
24 }
25
26 {
27   package Baz;
28
29   use Moose;
30 }
31
32 # Classes
33
34 ok(does_role('Bar', 'Foo'), '... Bar does Foo');
35
36 ok(!does_role('Baz', 'Foo'), '... Baz doesnt do Foo');
37
38 # Objects
39
40 my $bar = Bar->new;
41
42 ok(does_role($bar, 'Foo'), '... $bar does Foo');
43
44 my $baz = Baz->new;
45
46 ok(!does_role($baz, 'Foo'), '... $baz doesnt do Foo');
47
48 # Invalid values
49
50 ok(!does_role(undef,'Foo'), '... undef doesnt do Foo');
51
52 ok(!does_role(1,'Foo'), '... 1 doesnt do Foo');