X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=t%2F047-attribute-metaclass-role.t;h=d621d48e0de5fa22cf23986644d9fd5a7d6e62b7;hp=a4b1945a04a889e601d3131cda225fc97da7bc5d;hb=a09601ab6f3b4b6efb78d3f24a050fec92dcf02f;hpb=bf8e5b90e442d6ec7dbb837a051f547d685ee2e9 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 => {