Fix tests for Moose compatibility
[gitmo/Mouse.git] / t / 800_shikabased / 008-create_class.t
index 687671e..7d561e0 100644 (file)
@@ -1,7 +1,7 @@
 use strict;
 use warnings;
 use Mouse ();
-use Test::More tests => 20;
+use Test::More tests => 23;
 use Test::Exception;
 
 # error handling
@@ -27,11 +27,6 @@ throws_ok {
     );
 } qr/You must pass a HASH ref of methods/;
 
-
-throws_ok {
-    Mouse::Meta::Class->create()
-} qr/You must pass a package name/;
-
 # normal cases
 isa_ok(Mouse::Meta::Class->create("FooBar"), "Mouse::Meta::Class");
 is FooBar->meta->name, "FooBar";
@@ -88,3 +83,19 @@ ok !$anon_pkg1->can('meta');
 
 ok $anon_pkg2->can('meta'), 'cache => 1 makes it immortal';
 
+my $obj;
+{
+    my $anon = Mouse::Meta::Class->create_anon_class(superclasses => ['Mouse::Object']);
+    lives_ok{ $anon->make_immutable() } 'make anon class immutable';
+    $obj = $anon->name->new();
+}
+
+SKIP:{
+    skip 'Moose has a bug', 3 if 'Mouse' eq 'Moose';
+
+    isa_ok $obj, 'Mouse::Object';
+    can_ok $obj, 'meta';
+    lives_and{
+        isa_ok $obj->meta, 'Mouse::Meta::Class';
+    };
+}