Make this trait code a little more malleable
[gitmo/Moose.git] / t / 020_attributes / 024_attribute_traits_parameterized.t
CommitLineData
a73f0dc7 1#!/usr/bin/env perl
2use strict;
3use warnings;
4use 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
32my $attr = My::Class->meta->get_attribute('foo');
33is($attr->eman, 'oof', 'the aliased method is in the attribute');
34ok(!$attr->can('reversed_name'), 'the method was not installed under its original name');
35