X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F400-define-role.t;h=1cb7397ff30d5b17c5cf94183e6a533012fc2ded;hb=02eb9dec2f1c9fffd208999a210e530d93db07d1;hp=aa7f598a0272be0823c2264e36bd0406b176ee3c;hpb=59089ec36675c7df1998945b1446c37794f88306;p=gitmo%2FMouse.git diff --git a/t/400-define-role.t b/t/400-define-role.t index aa7f598..1cb7397 100644 --- a/t/400-define-role.t +++ b/t/400-define-role.t @@ -1,8 +1,16 @@ #!/usr/bin/env perl use strict; use warnings; -use Test::More tests => 11; -use Mouse::Util ':test'; +use Test::More; +BEGIN{ + if(eval{ require Class::Method::Modifiers::Fast } || eval{ require Class::Method::Modifiers }){ + plan tests => 11; + } + else{ + plan skip_all => 'This test requires Class::Method::Modifiers(::Fast)?'; + } +} +use Test::Exception; lives_ok { package Role; @@ -44,7 +52,7 @@ lives_ok { package Role; use Mouse::Role; - has 'foo'; + has 'foo' => (is => 'bare'); no Mouse::Role; }; @@ -55,23 +63,27 @@ do { no Mouse::Role; }; -throws_ok { +lives_ok { package Role; use Mouse::Role; with 'Other::Role'; no Mouse::Role; -} qr/Mouse::Role does not currently support 'with'/; +}; -throws_ok { +TODO: { package Role; use Mouse::Role; - excludes 'excluded'; + eval { + excludes 'excluded'; + }; + local our $TODO = "Mouse::Role does not currently support 'excludes'"; + ::ok(!$@, "excludes"); no Mouse::Role; -} qr/Mouse::Role does not currently support 'excludes'/; +}; throws_ok { package Role; @@ -89,10 +101,10 @@ lives_ok { ::is(blessed($obj), "Impromptu::Class"); }; -throws_ok { +lives_ok{ package Class; use Mouse; with 'Role', 'Other::Role'; -} qr/Mouse::Role only supports 'with' on individual roles at a time/; +};