X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F400-define-role.t;h=53c77cfe7302990145cebaa0762fd82c93a7db84;hb=4377514b87240cd2caab82bc09a7ab3f7ba688c3;hp=0920e358670c2e268b4fdeee6c7e9c71b0d859bc;hpb=72381201e89a8afbff9b01f62f49240fd9c96789;p=gitmo%2FMouse.git diff --git a/t/400-define-role.t b/t/400-define-role.t index 0920e35..53c77cf 100644 --- a/t/400-define-role.t +++ b/t/400-define-role.t @@ -1,7 +1,7 @@ #!/usr/bin/env perl use strict; use warnings; -use Test::More tests => 4; +use Test::More tests => 10; use Test::Exception; lives_ok { @@ -25,6 +25,8 @@ lives_ok { use Mouse::Role; sub foo {} + + no Mouse::Role; }; lives_ok { @@ -34,5 +36,57 @@ lives_ok { before foo => sub {}; after foo => sub {}; around foo => sub {}; + + no Mouse::Role; +}; + +lives_ok { + package Role; + use Mouse::Role; + + has 'foo'; + + no Mouse::Role; +}; + +do { + package Other::Role; + use Mouse::Role; + no Mouse::Role; +}; + +lives_ok { + package Role; + use Mouse::Role; + + with 'Other::Role'; + + no Mouse::Role; +}; + +lives_ok { + package Role; + use Mouse::Role; + + requires 'required'; + excludes 'excluded'; + + no Mouse::Role; +}; + +throws_ok { + package Role; + use Mouse::Role; + + confess "Mouse::Role exports confess"; + +} qr/^Mouse::Role exports confess/; + +lives_ok { + package Role; + use Mouse::Role; + + my $obj = bless {} => "Impromptu::Class"; + ::is(blessed($obj), "Impromptu::Class"); };