summaryrefslogtreecommitdiffstats
path: root/t
diff options
context:
space:
mode:
authordoy <doy@tozt.net>2009-04-10 23:56:54 -0500
committerdoy <doy@tozt.net>2009-04-10 23:56:54 -0500
commit964082b4ea956dc57b958667a5a48c090cb69901 (patch)
tree987f421e7e0a0ffb1058a2dd421033b133ee88da /t
parent3edcf2a135e0cf919ac635c87a20635b6e9de74f (diff)
downloadmoosex-nonmoose-964082b4ea956dc57b958667a5a48c090cb69901.tar.gz
moosex-nonmoose-964082b4ea956dc57b958667a5a48c090cb69901.zip
add a test for multi-level inheritance, with a failure
Diffstat (limited to 't')
-rw-r--r--t/004-multi-level.t45
1 files changed, 45 insertions, 0 deletions
diff --git a/t/004-multi-level.t b/t/004-multi-level.t
new file mode 100644
index 0000000..1f42fbb
--- /dev/null
+++ b/t/004-multi-level.t
@@ -0,0 +1,45 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More tests => 6;
+
+package Foo;
+
+sub new {
+ my $class = shift;
+ bless { foo => 'FOO' }, $class;
+}
+
+sub foo { shift->{foo} }
+
+package Foo::Moose;
+use Moose;
+use MooseX::NonMoose;
+extends 'Foo';
+
+has bar => (
+ is => 'ro',
+ default => 'BAR',
+);
+
+package Foo::Moose::Sub;
+use Moose;
+use MooseX::NonMoose;
+extends 'Foo::Moose';
+
+has baz => (
+ is => 'ro',
+ default => 'BAZ',
+);
+
+package main;
+my $foo_moose = Foo::Moose->new;
+is $foo_moose->foo, 'FOO', 'Foo::Moose::foo';
+is $foo_moose->bar, 'BAR', 'Foo::Moose::bar';
+
+my $foo_moose_sub = Foo::Moose::Sub->new;
+is $foo_moose_sub->foo, 'FOO', 'Foo::Moose::foo';
+is $foo_moose_sub->bar, 'BAR', 'Foo::Moose::bar';
+is $foo_moose_sub->baz, 'BAZ', 'Foo::Moose::baz';
+is(Foo::Moose::Sub->meta->get_method('new'), undef,
+ 'Foo::Moose::Sub just uses the constructor for Foo::Moose');