From 5156784e43bc7ce277427c76081cab94fb0ac224 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Fri, 8 May 2009 00:35:02 -0500 Subject: clean up failing test a bit --- t/023-FOREIGNBUILDARGS.t | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 't') diff --git a/t/023-FOREIGNBUILDARGS.t b/t/023-FOREIGNBUILDARGS.t index 7967fdb..665f4e1 100644 --- a/t/023-FOREIGNBUILDARGS.t +++ b/t/023-FOREIGNBUILDARGS.t @@ -1,7 +1,7 @@ #!/usr/bin/env perl use strict; use warnings; -use Test::More tests => 9; +use Test::More tests => 12; package Foo; @@ -46,9 +46,9 @@ sub BUILDARGS { return { bar => shift }; } -# XXX XXX XXX package Baz::Moose; use Moose; +use MooseX::NonMoose; extends 'Bar::Moose'; has baz => ( @@ -63,17 +63,18 @@ is($foo->foo_base, 'bar_base', 'subclass constructor gets the right args'); my $bar = Bar::Moose->new('baz'); is($bar->bar, 'baz', 'subclass constructor gets the right args'); is($bar->foo_base, 'baz_base', 'subclass constructor gets the right args'); +my $baz = Baz::Moose->new('bazbaz'); +is($baz->bar, 'bazbaz', 'extensions of extensions of the nonmoose class respect BUILDARGS'); +is($baz->foo_base, 'bazbaz_base', 'extensions of extensions of the nonmoose class respect FOREIGNBUILDARGS'); Foo::Moose->meta->make_immutable; Bar::Moose->meta->make_immutable; +Baz::Moose->meta->make_immutable; $foo = Foo::Moose->new(foo => 'bar'); -$bar = Bar::Moose->new('baz'); is($foo->foo, 'bar', 'subclass constructor gets the right args (immutable)'); is($foo->foo_base, 'bar_base', 'subclass constructor gets the right args (immutable)'); +$bar = Bar::Moose->new('baz'); is($bar->bar, 'baz', 'subclass constructor gets the right args (immutable)'); is($bar->foo_base, 'baz_base', 'subclass constructor gets the right args (immutable)'); - -TODO: { - todo_skip "can't extend classes that use FOREIGNBUILDARGS yet", 1; - my $baz = Baz::Moose->new('bazbaz'); - is($baz->bar, 'bazbaz_base', 'extensions of extensions of the nonmoose class respect FOREIGNBUILDARGS'); -} +$baz = Baz::Moose->new('bazbaz'); +is($baz->bar, 'bazbaz', 'extensions of extensions of the nonmoose class respect BUILDARGS (immutable)'); +is($baz->foo_base, 'bazbaz_base', 'extensions of extensions of the nonmoose class respect FOREIGNBUILDARGS (immutable)'); -- cgit v1.2.3