Revert autogenerated tests. Tests should not changed radically.
[gitmo/Mouse.git] / t / 050_metaclasses / failing / 010_extending_and_embedding_back_compat.t
diff --git a/t/050_metaclasses/failing/010_extending_and_embedding_back_compat.t b/t/050_metaclasses/failing/010_extending_and_embedding_back_compat.t
new file mode 100644 (file)
index 0000000..d1e05d5
--- /dev/null
@@ -0,0 +1,58 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Test::More tests => 7;
+use Test::Exception;
+
+
+
+BEGIN {
+    package MyFramework::Base;
+    use Mouse;
+
+    package MyFramework::Meta::Base;
+    use Mouse;
+
+    extends 'Mouse::Meta::Class';
+
+    package MyFramework;
+    use Mouse;
+
+    sub import {
+        my $CALLER = caller();
+
+        strict->import;
+        warnings->import;
+
+        return if $CALLER eq 'main';
+        Mouse::init_meta( $CALLER, 'MyFramework::Base', 'MyFramework::Meta::Base' );
+        Mouse->import({ into => $CALLER });
+
+        return 1;
+    }
+}
+
+{
+    package MyClass;
+    BEGIN { MyFramework->import }
+
+    has 'foo' => (is => 'rw');
+}
+
+can_ok( 'MyClass', 'meta' );
+
+isa_ok(MyClass->meta, 'MyFramework::Meta::Base');
+isa_ok(MyClass->meta, 'Mouse::Meta::Class');
+
+my $obj = MyClass->new(foo => 10);
+isa_ok($obj, 'MyClass');
+isa_ok($obj, 'MyFramework::Base');
+isa_ok($obj, 'Mouse::Object');
+
+is($obj->foo, 10, '... got the right value');
+
+
+
+