X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F06-role.t;h=43ca560ee8b286565f33e314d749521b4451ad23;hb=348162f8774def8fc9763c96b540195866929254;hp=b6fe678213405054f407bb83156ef8ab4a370251;hpb=88b7f2c81c47c0498b82d95a4f9fc71258d689f1;p=gitmo%2FMooseX-ClassAttribute.git diff --git a/t/06-role.t b/t/06-role.t index b6fe678..43ca560 100644 --- a/t/06-role.t +++ b/t/06-role.t @@ -45,8 +45,21 @@ use Moose::Util qw( apply_all_roles ); } } +ok( + ClassWithRoleHCA->meta()->does_role('RoleHCA'), + 'ClassWithRoleHCA does RoleHCA' +); + SharedTests::run_tests('ClassWithRoleHCA'); +ClassWithRoleHCA->meta()->make_immutable(); + +ok( + ClassWithRoleHCA->meta()->does_role('RoleHCA'), + 'ClassWithRoleHCA (immutable) does RoleHCA' +); + + # These next tests are aimed at testing to-role application followed by # to-class application { @@ -58,6 +71,11 @@ SharedTests::run_tests('ClassWithRoleHCA'); with 'RoleHCA'; } +ok( + RoleWithRoleHCA->meta()->does_role('RoleHCA'), + 'RoleWithRoleHCA does RoleHCA' +); + { package ClassWithRoleWithRoleHCA; @@ -84,8 +102,20 @@ SharedTests::run_tests('ClassWithRoleHCA'); } } +ok( + ClassWithRoleWithRoleHCA->meta()->does_role('RoleHCA'), + 'ClassWithRoleWithRoleHCA does RoleHCA' +); + SharedTests::run_tests('ClassWithRoleWithRoleHCA'); +ClassWithRoleWithRoleHCA->meta()->make_immutable(); + +ok( + ClassWithRoleWithRoleHCA->meta()->does_role('RoleHCA'), + 'ClassWithRoleWithRoleHCA (immutable) does RoleHCA' +); + { package InstanceWithRoleHCA; @@ -108,8 +138,20 @@ my $instance = InstanceWithRoleHCA->new(); apply_all_roles( $instance, 'RoleHCA' ); +ok( + $instance->meta()->does_role('RoleHCA'), + '$instance does RoleHCA' +); + $instance->ObjectCount(1); SharedTests::run_tests($instance); +$instance->meta()->make_immutable(); + +ok( + $instance->meta()->does_role('RoleHCA'), + '$instance (immutable) does RoleHCA' +); + done_testing();