tests
[gitmo/Moose.git] / t / 021_moose_w_metaclass.t
diff --git a/t/021_moose_w_metaclass.t b/t/021_moose_w_metaclass.t
new file mode 100644 (file)
index 0000000..f71258f
--- /dev/null
@@ -0,0 +1,44 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Test::More tests => 5;
+use Test::Exception;
+
+BEGIN {
+    use_ok('Moose');           
+}
+
+
+{
+    package Foo::Meta;
+    use strict;
+    use warnings;
+
+    use base 'Moose::Meta::Class';
+    
+    package Foo;
+    use strict;
+    use warnings;
+    use metaclass 'Foo::Meta';
+    ::use_ok('Moose');
+}
+
+isa_ok(Foo->meta, 'Foo::Meta');
+
+{
+    package Bar::Meta;
+    use strict;
+    use warnings;
+    
+    use base 'Class::MOP::Class';
+    
+    package Bar;
+    use strict;
+    use warnings;
+    use metaclass 'Bar::Meta';
+    eval 'use Moose;';
+    ::ok($@, '... could not load moose without correct metaclass');
+    ::like($@, qr/^Whoops\, not møøsey enough/, '... got the right error too');
+}