Move t/*/t into t/001_mouse
[gitmo/Mouse.git] / t / 001_mouse / 034-apply_all_roles.t
diff --git a/t/001_mouse/034-apply_all_roles.t b/t/001_mouse/034-apply_all_roles.t
new file mode 100644 (file)
index 0000000..c2979ef
--- /dev/null
@@ -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';
+