Rename the 402 test, it's about role attributes
[gitmo/Mouse.git] / t / 402-attribute-application.t
CommitLineData
086c223b 1#!/usr/bin/env perl
2use strict;
3use warnings;
69ac1dcf 4use Test::More tests => 5;
5use Test::Exception;
086c223b 6
7do {
8 package Role;
9 use Mouse::Role;
10
69ac1dcf 11 has 'attr' => (
12 default => 'Role',
13 );
086c223b 14
15 no Mouse::Role;
16};
17
69ac1dcf 18is_deeply(Role->meta->get_attribute('attr'), {default => 'Role'});
19
086c223b 20do {
21 package Class;
22 use Mouse;
23 with 'Role';
24
25 no Mouse;
26};
27
28ok(Class->meta->has_attribute('attr'), "role application added the attribute");
69ac1dcf 29is(Class->meta->get_attribute('attr')->default, 'Role');
30
31do {
32 package Role2;
33 use Mouse::Role;
34
35 has 'attr' => (
36 default => 'Role2',
37 );
38
39 no Mouse::Role;
40};
41
42lives_ok {
43 package Class2;
44 use Mouse;
45 with 'Role';
46 with 'Role2';
47};
48
0ba3591e 49is(Class2->meta->get_attribute('attr')->default, 'Role');
086c223b 50