Commit | Line | Data |
127b24ae |
1 | #!/usr/bin/env perl |
2 | use strict; |
3 | use warnings; |
4 | use Test::More; |
5 | |
6 | { |
7 | package Foo::Role; |
8 | use Moose::Role; |
9 | } |
10 | |
11 | { |
12 | package Foo; |
13 | use Moose; |
14 | |
15 | with 'Foo::Role'; |
16 | } |
17 | |
18 | { |
19 | package Foo::Sub; |
20 | use base 'Foo'; |
21 | } |
22 | |
23 | { |
24 | package Foo::Sub2; |
25 | use base 'Foo'; |
26 | } |
27 | |
28 | { |
29 | package Foo::Sub3; |
30 | use base 'Foo'; |
31 | } |
32 | |
33 | { |
34 | package Foo::Sub4; |
35 | use base 'Foo'; |
36 | } |
37 | |
38 | ok(Foo::Sub->does('Foo::Role'), "class does Foo::Role"); |
39 | ok(Foo::Sub2->new->does('Foo::Role'), "object does Foo::Role"); |
40 | ok(!Foo::Sub3->does('Bar::Role'), "class doesn't do Bar::Role"); |
41 | ok(!Foo::Sub4->new->does('Bar::Role'), "object doesn't do Bar::Role"); |
42 | |
43 | done_testing; |