diff options
author | Jesse Luehrs <doy@tozt.net> | 2013-09-04 19:38:21 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2013-09-04 19:47:11 -0400 |
commit | 8bf5e6931a1bd96df0cdb1ceb94bbb3e578a8126 (patch) | |
tree | 2e659a8f07ea1cca3091a9c0578bbd8e53c20c11 /t/23-FOREIGNBUILDARGS.t | |
parent | 8e0b4f219f2d8d94cb6937ef47168ac5fac03cd9 (diff) | |
download | moosex-nonmoose-8bf5e6931a1bd96df0cdb1ceb94bbb3e578a8126.tar.gz moosex-nonmoose-8bf5e6931a1bd96df0cdb1ceb94bbb3e578a8126.zip |
packaging
Diffstat (limited to 't/23-FOREIGNBUILDARGS.t')
-rw-r--r-- | t/23-FOREIGNBUILDARGS.t | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/t/23-FOREIGNBUILDARGS.t b/t/23-FOREIGNBUILDARGS.t deleted file mode 100644 index 78c7fa9..0000000 --- a/t/23-FOREIGNBUILDARGS.t +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/env perl -use strict; -use warnings; -use Test::More; -use Test::Moose; - -package Foo; - -sub new { - my $class = shift; - bless { foo_base => $_[0] }, $class; -} - -sub foo_base { shift->{foo_base} } - -package Foo::Moose; -use Moose; -use MooseX::NonMoose; -extends 'Foo'; - -has foo => ( - is => 'rw', -); - -sub FOREIGNBUILDARGS { - my $class = shift; - my %args = @_; - return "$args{foo}_base"; -} - -package Bar::Moose; -use Moose; -use MooseX::NonMoose; -extends 'Foo'; - -has bar => ( - is => 'rw', -); - -sub FOREIGNBUILDARGS { - my $class = shift; - return "$_[0]_base"; -} - -sub BUILDARGS { - my $class = shift; - return { bar => shift }; -} - -package Baz::Moose; -use Moose; -extends 'Bar::Moose'; - -has baz => ( - is => 'rw', -); - -package main; - -with_immutable { - my $foo = Foo::Moose->new(foo => 'bar'); - is($foo->foo, 'bar', 'subclass constructor gets the right args'); - 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'); -} qw(Foo::Moose Bar::Moose Baz::Moose); - -done_testing; |