X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F400-define-role.t;h=66cddb065156b6fa49fa2d85e9f4daddc6b78173;hb=95700a5cb9863c833c91f366337c9082a7f245a5;hp=53c77cfe7302990145cebaa0762fd82c93a7db84;hpb=4377514b87240cd2caab82bc09a7ab3f7ba688c3;p=gitmo%2FMouse.git diff --git a/t/400-define-role.t b/t/400-define-role.t index 53c77cf..66cddb0 100644 --- a/t/400-define-role.t +++ b/t/400-define-role.t @@ -1,8 +1,8 @@ #!/usr/bin/env perl use strict; use warnings; -use Test::More tests => 10; -use Test::Exception; +use Test::More tests => 12; +use Mouse::Util ':test'; lives_ok { package Role; @@ -18,7 +18,7 @@ throws_ok { extends 'Role::Parent'; no Mouse::Role; -} qr/Role does not currently support 'extends'/; +} qr/Roles do not support 'extends'/; lives_ok { package Role; @@ -55,24 +55,32 @@ do { no Mouse::Role; }; -lives_ok { +throws_ok { package Role; use Mouse::Role; with 'Other::Role'; no Mouse::Role; -}; +} qr/Mouse::Role does not currently support 'with'/; -lives_ok { +throws_ok { package Role; use Mouse::Role; requires 'required'; + + no Mouse::Role; +} qr/Mouse::Role does not currently support 'requires'/; + +throws_ok { + package Role; + use Mouse::Role; + excludes 'excluded'; no Mouse::Role; -}; +} qr/Mouse::Role does not currently support 'excludes'/; throws_ok { package Role; @@ -90,3 +98,10 @@ lives_ok { ::is(blessed($obj), "Impromptu::Class"); }; +throws_ok { + package Class; + use Mouse; + + with 'Role', 'Other::Role'; +} qr/Mouse::Role only supports 'with' on individual roles at a time/; +