Remove numbers from our tests
[gitmo/Moose.git] / t / compat / composite_metaroles.t
diff --git a/t/compat/composite_metaroles.t b/t/compat/composite_metaroles.t
new file mode 100755 (executable)
index 0000000..657362b
--- /dev/null
@@ -0,0 +1,45 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+use Test::Fatal;
+use Test::Moose;
+
+{
+    package Foo::Role;
+    use Moose::Role;
+}
+
+{
+    package Bar::Role;
+    use Moose::Role;
+}
+
+{
+    package Parent;
+    use Moose;
+    Moose::Util::MetaRole::apply_metaroles(
+        for => __PACKAGE__,
+        class_metaroles => { class => ['Foo::Role'] },
+    );
+}
+
+{
+    package Child;
+    use Moose;
+    Moose::Util::MetaRole::apply_metaroles(
+        for => __PACKAGE__,
+        class_metaroles => { class => ['Foo::Role', 'Bar::Role'] },
+    );
+    ::is( ::exception { extends 'Parent' }, undef );
+}
+
+with_immutable {
+    isa_ok('Child', 'Parent');
+    isa_ok(Child->meta, Parent->meta->_real_ref_name);
+    does_ok(Parent->meta, 'Foo::Role');
+    does_ok(Child->meta, 'Foo::Role');
+    does_ok(Child->meta, 'Bar::Role');
+} 'Parent', 'Child';
+
+done_testing;