X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F030_roles%2Ffailing%2F006_role_exclusion.t;h=e60a76834bfa96bd5ddab7b4fc557ee3f76200c4;hb=6cfa1e5e70616fb102915489c02d8347ffa912fb;hp=5b69ee2ecd320a300d692a14d45f72265413ece1;hpb=6719984210754e8d012ae678536f194c35000823;p=gitmo%2FMouse.git diff --git a/t/030_roles/failing/006_role_exclusion.t b/t/030_roles/failing/006_role_exclusion.t index 5b69ee2..e60a768 100644 --- a/t/030_roles/failing/006_role_exclusion.t +++ b/t/030_roles/failing/006_role_exclusion.t @@ -13,10 +13,10 @@ from the Fortress spec. http://research.sun.com/projects/plrg/fortress0903.pdf -trait OrganicMolecule extends Molecule - excludes { InorganicMolecule } -end -trait InorganicMolecule extends Molecule end +trait OrganicMolecule extends Molecule + excludes { InorganicMolecule } +end +trait InorganicMolecule extends Molecule end =cut @@ -26,25 +26,25 @@ trait InorganicMolecule extends Molecule end package Molecule::Organic; use Mouse::Role; - + with 'Molecule'; excludes 'Molecule::Inorganic'; - + package Molecule::Inorganic; - use Mouse::Role; - - with 'Molecule'; + use Mouse::Role; + + with 'Molecule'; } ok(Molecule::Organic->meta->excludes_role('Molecule::Inorganic'), '... Molecule::Organic exludes Molecule::Inorganic'); is_deeply( - [ Molecule::Organic->meta->get_excluded_roles_list() ], + [ Molecule::Organic->meta->get_excluded_roles_list() ], [ 'Molecule::Inorganic' ], '... Molecule::Organic exludes Molecule::Inorganic'); =pod -Check some basic conflicts when combining +Check some basic conflicts when combining the roles into the same class =cut @@ -52,30 +52,30 @@ the roles into the same class { package My::Test1; use Mouse; - + ::lives_ok { with 'Molecule::Organic'; } '... adding the role (w/ excluded roles) okay'; package My::Test2; use Mouse; - + ::throws_ok { with 'Molecule::Organic', 'Molecule::Inorganic'; - } qr/Conflict detected: Role Molecule::Organic excludes role 'Molecule::Inorganic'/, - '... adding the role w/ excluded role conflict dies okay'; - + } qr/Conflict detected: Role Molecule::Organic excludes role 'Molecule::Inorganic'/, + '... adding the role w/ excluded role conflict dies okay'; + package My::Test3; use Mouse; - + ::lives_ok { with 'Molecule::Organic'; - } '... adding the role (w/ excluded roles) okay'; - + } '... adding the role (w/ excluded roles) okay'; + ::throws_ok { with 'Molecule::Inorganic'; - } qr/Conflict detected: My::Test3 excludes role 'Molecule::Inorganic'/, - '... adding the role w/ excluded role conflict dies okay'; + } qr/Conflict detected: My::Test3 excludes role 'Molecule::Inorganic'/, + '... adding the role w/ excluded role conflict dies okay'; } ok(My::Test1->does('Molecule::Organic'), '... My::Test1 does Molecule::Organic'); @@ -92,7 +92,7 @@ ok(!My::Test3->does('Molecule::Inorganic'), '... ! My::Test3 does Molecule::Inor =pod -Check some basic conflicts when combining +Check some basic conflicts when combining the roles into the a superclass =cut @@ -100,16 +100,16 @@ the roles into the a superclass { package Methane; use Mouse; - + with 'Molecule::Organic'; - + package My::Test4; use Mouse; - - extends 'Methane'; - + + extends 'Methane'; + ::throws_ok { - with 'Molecule::Inorganic'; + with 'Molecule::Inorganic'; } qr/Conflict detected: My::Test4 excludes role \'Molecule::Inorganic\'/, '... cannot add exculded role into class which extends Methane'; }