X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F001_mouse%2F014-build.t;h=b1e3293d4766e0828df2f759334a934fc6d5b8f9;hb=3aa1e09a9e63a374c0057a91eed32d41287d2ee0;hp=918a7d6162dc8c79a7336ed7204c19205e030035;hpb=224bfdd88300af5e6aa044b64111c3e0b1e64e94;p=gitmo%2FMouse.git diff --git a/t/001_mouse/014-build.t b/t/001_mouse/014-build.t index 918a7d6..b1e3293 100644 --- a/t/001_mouse/014-build.t +++ b/t/001_mouse/014-build.t @@ -1,7 +1,8 @@ #!/usr/bin/env perl use strict; use warnings; -use Test::More tests => 5; +use Test::More tests => 9; +use Test::Mouse; my @called; @@ -36,22 +37,19 @@ do { is_deeply([splice @called], [], "no BUILD calls yet"); -my $object = Class->new; +with_immutable sub { + my $object = Class->new; -is_deeply([splice @called], ["Class::BUILD"]); + ok defined($object), $object->meta->is_immutable() ? 'mutable' : 'immutable'; -my $child = Child->new; + is_deeply([splice @called], ["Class::BUILD"]); -is_deeply([splice @called], ["Class::BUILD", "Child::BUILD"]); + my $child = Child->new; -Class->meta->make_immutable; -Child->meta->make_immutable; + is_deeply([splice @called], ["Class::BUILD", "Child::BUILD"]); -$object = Class->new; + $child->BUILDALL({}); -is_deeply([splice @called], ["Class::BUILD"], 'after make_immutable'); - -$child = Child->new; - -is_deeply([splice @called], ["Class::BUILD", "Child::BUILD"], 'after make_immutable'); + is_deeply([splice @called], ["Class::BUILD", "Child::BUILD"], 'BUILDALL'); +}, qw(Class Child);