4f9578efa942ed4da74a32e6db3a652b272f5586
[gitmo/Moose.git] / t / 020_attributes / 024_attribute_traits_parameterized.t
1 #!/usr/bin/env perl
2 use strict;
3 use warnings;
4 use Test::More tests => 2;
5
6 {
7     package My::Attribute::Trait;
8     use Moose::Role;
9
10     sub reversed_name {
11         my $self = shift;
12         scalar reverse $self->name;
13     }
14 }
15
16 {
17     package My::Class;
18     use Moose;
19
20     has foo => (
21         traits => [
22             'My::Attribute::Trait' => {
23                 alias => {
24                     reversed_name => 'eman',
25                 },
26             },
27         ],
28     );
29
30 }
31
32 my $attr = My::Class->meta->get_attribute('foo');
33 is($attr->eman, 'oof', 'the aliased method is in the attribute');
34 ok(!$attr->can('reversed_name'), 'the method was not installed under its original name');
35