X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F001_mouse%2F034-apply_all_roles.t;fp=t%2F001_mouse%2F034-apply_all_roles.t;h=c2979ef88f3829b2c0001396c01d07de40b9984e;hb=920139b3efca66d2caeeef306c97fa0da62c6b73;hp=0000000000000000000000000000000000000000;hpb=b644ef5d28f6076859080482d8b44727c1410e1c;p=gitmo%2FMouse.git diff --git a/t/001_mouse/034-apply_all_roles.t b/t/001_mouse/034-apply_all_roles.t new file mode 100644 index 0000000..c2979ef --- /dev/null +++ b/t/001_mouse/034-apply_all_roles.t @@ -0,0 +1,34 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Test::More tests => 4; + +{ + package FooRole; + use Mouse::Role; + sub foo { 'ok1' } +} + +{ + package BarRole; + use Mouse::Role; + sub bar { 'ok2' } +} + +{ + package Baz; + use Mouse; + no Mouse; +} + +eval { Mouse::Util::apply_all_roles('Baz', 'BarRole', 'FooRole') }; +ok !$@; + +Mouse::Util::apply_all_roles('Baz', 'BarRole'); +Mouse::Util::apply_all_roles('Baz', 'FooRole'); + +my $baz = Baz->new; +is $baz->foo, 'ok1'; +is $baz->bar, 'ok2'; +is join(",", sort $baz->meta->get_method_list), 'bar,foo,meta'; +