X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F047-attribute-metaclass-role.t;h=d621d48e0de5fa22cf23986644d9fd5a7d6e62b7;hb=8cbcbb47d0f02077d07873c553494a884d9c085f;hp=a4b1945a04a889e601d3131cda225fc97da7bc5d;hpb=1b9e472d8c7e704eced9b2ea83194f83f0265018;p=gitmo%2FMouse.git diff --git a/t/047-attribute-metaclass-role.t b/t/047-attribute-metaclass-role.t index a4b1945..d621d48 100644 --- a/t/047-attribute-metaclass-role.t +++ b/t/047-attribute-metaclass-role.t @@ -5,15 +5,18 @@ use Test::More tests => 7; use lib 't/lib'; do { - local $SIG{__WARN__} = sub{ $_[0] =~ /deprecated/ or warn @_ }; - package MouseX::AttributeHelpers::Number; use Mouse; extends 'Mouse::Meta::Attribute'; - sub create { - my ($self, @args) = @_; - my $attr = $self->SUPER::create(@args); + has provides => ( + is => 'rw', + isa => 'HashRef', + ); + + after 'install_accessors' => sub{ + my ($attr) = @_; + my %provides = %{$attr->{provides}}; my $method_constructors = { add => sub { @@ -31,8 +34,8 @@ do { return $attr; }; - package # hide me from search.cpan.org - Mouse::Meta::Attribute::Custom::Number; + package + Mouse::Meta::Attribute::Custom::MyNumber; sub register_implementation { 'MouseX::AttributeHelpers::Number' } 1; @@ -41,7 +44,7 @@ do { use Mouse::Role; has 'i' => ( - metaclass => 'Number', + metaclass => 'MyNumber', is => 'rw', isa => 'Int', provides => { @@ -54,7 +57,7 @@ do { use Mouse::Role; has 'j' => ( - metaclass => 'Number', + metaclass => 'MyNumber', is => 'rw', isa => 'Int', provides => {