diff options
author | Jesse Luehrs <doy@tozt.net> | 2010-06-15 01:36:37 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2010-06-15 01:36:37 -0500 |
commit | 60c5f48aff6a579ce22bd4b4245f7be346609901 (patch) | |
tree | 7025b94a0470cef60d9c3694d0dbf247f5b30aaa /t/022-replaced-constructor.t | |
parent | 571bfa3b91ff5567338948776b6fce84d3ede09e (diff) | |
download | moosex-nonmoose-60c5f48aff6a579ce22bd4b4245f7be346609901.tar.gz moosex-nonmoose-60c5f48aff6a579ce22bd4b4245f7be346609901.zip |
convert to new dzil stuff
Diffstat (limited to 't/022-replaced-constructor.t')
-rw-r--r-- | t/022-replaced-constructor.t | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/t/022-replaced-constructor.t b/t/022-replaced-constructor.t deleted file mode 100644 index c7b2e44..0000000 --- a/t/022-replaced-constructor.t +++ /dev/null @@ -1,62 +0,0 @@ -#!/usr/bin/env perl -use strict; -use warnings; -use Test::More tests => 7; - -our $foo_constructed = 0; - -package Foo; - -sub new { - my $class = shift; - bless {}, $class; -} - -package Foo::Moose; -use Moose; -use MooseX::NonMoose; -extends 'Foo'; - -after new => sub { - $main::foo_constructed = 1; -}; - -package Foo::Moose2; -use Moose; -use MooseX::NonMoose; -extends 'Foo'; - -sub new { - my $class = shift; - $main::foo_constructed = 1; - return $class->meta->new_object(@_); -} - -package main; -my $method = Foo::Moose->meta->get_method('new'); -isa_ok($method, 'Class::MOP::Method::Wrapped'); -my $foo = Foo::Moose->new; -ok($foo_constructed, 'method modifier called for the constructor'); -$foo_constructed = 0; -{ - # we don't care about the warning that moose isn't going to inline our - # constructor - this is the behavior we're testing - local $SIG{__WARN__} = sub {}; - Foo::Moose->meta->make_immutable; -} -is($method, Foo::Moose->meta->get_method('new'), - 'make_immutable doesn\'t overwrite constructor with method modifiers'); -$foo = Foo::Moose->new; -ok($foo_constructed, 'method modifier called for the constructor (immutable)'); - -$foo_constructed = 0; -$method = Foo::Moose2->meta->get_method('new'); -$foo = Foo::Moose2->new; -ok($foo_constructed, 'custom constructor called'); -$foo_constructed = 0; -# still need to specify inline_constructor => 0 when overriding new manually -Foo::Moose2->meta->make_immutable(inline_constructor => 0); -is($method, Foo::Moose2->meta->get_method('new'), - 'make_immutable doesn\'t overwrite custom constructor'); -$foo = Foo::Moose2->new; -ok($foo_constructed, 'custom constructor called (immutable)'); |