Remove numbers from our tests
[gitmo/Moose.git] / t / roles / reinitialize_anon_role.t
diff --git a/t/roles/reinitialize_anon_role.t b/t/roles/reinitialize_anon_role.t
new file mode 100644 (file)
index 0000000..6e6db9a
--- /dev/null
@@ -0,0 +1,31 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+
+{
+    package Role::Metarole;
+    use Moose::Role;
+}
+
+my ($role2);
+{
+    my $role1 = Moose::Meta::Role->create_anon_role(
+        methods => {
+            foo => sub { },
+        },
+    );
+    ok($role1->has_method('foo'), "role has method foo");
+    $role2 = Moose::Util::MetaRole::apply_metaroles(
+        for => $role1->name,
+        role_metaroles => { role => ['Role::Metarole'] },
+    );
+    isnt($role1, $role2, "anon role was reinitialized");
+    is($role1->name, $role2->name, "but it's the same anon role");
+    is_deeply([sort $role2->get_method_list], ['foo', 'meta'],
+              "has the right methods");
+}
+is_deeply([sort $role2->get_method_list], ['foo', 'meta'],
+          "still has the right methods");
+
+done_testing;