X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=t%2F001_mouse%2F015-demolish.t;h=4fad8c6c5b5f3be86899fa1b72b1f929f44e8760;hp=123c2d228f7701b9ce48aaf1b41bdf7a416f21a2;hb=289e54309468b5da0fb0774fd1db627ee337fb82;hpb=920139b3efca66d2caeeef306c97fa0da62c6b73 diff --git a/t/001_mouse/015-demolish.t b/t/001_mouse/015-demolish.t index 123c2d2..4fad8c6 100644 --- a/t/001_mouse/015-demolish.t +++ b/t/001_mouse/015-demolish.t @@ -1,7 +1,8 @@ #!/usr/bin/env perl use strict; use warnings; -use Test::More tests => 5; +use Test::More tests => 15; +use Test::Mouse; my @called; @@ -13,11 +14,11 @@ do { push @called, 'Class::DEMOLISH'; } - sub DEMOLISHALL { - my $self = shift; - push @called, 'Class::DEMOLISHALL'; - $self->SUPER::DEMOLISHALL(@_); - } +# sub DEMOLISHALL { +# my $self = shift; +# push @called, 'Class::DEMOLISHALL'; +# $self->SUPER::DEMOLISHALL(@_); +# } package Child; use Mouse; @@ -27,27 +28,40 @@ do { push @called, 'Child::DEMOLISH'; } - sub DEMOLISHALL { - my $self = shift; - push @called, 'Child::DEMOLISHALL'; - $self->SUPER::DEMOLISHALL(@_); - } +# sub DEMOLISHALL { +# my $self = shift; +# push @called, 'Child::DEMOLISHALL'; +# $self->SUPER::DEMOLISHALL(@_); +# } }; is_deeply([splice @called], [], "no DEMOLISH calls yet"); -do { - my $object = Class->new; +with_immutable { + ok(Class->meta, Class->meta->is_immutable ? 'mutable' : 'immutable'); - is_deeply([splice @called], [], "no DEMOLISH calls yet"); -}; + { + my $object = Class->new; -is_deeply([splice @called], ['Class::DEMOLISHALL', 'Class::DEMOLISH']); + is_deeply([splice @called], [], "no DEMOLISH calls yet"); + } -do { - my $child = Child->new; - is_deeply([splice @called], [], "no DEMOLISH calls yet"); + is_deeply([splice @called], ['Class::DEMOLISH']); -}; + { + my $child = Child->new; + is_deeply([splice @called], [], "no DEMOLISH calls yet"); + + } + + is_deeply([splice @called], ['Child::DEMOLISH', 'Class::DEMOLISH']); + + { + my $child = Child->new; + $child->DEMOLISHALL(); + + is_deeply([splice @called], ['Child::DEMOLISH', 'Class::DEMOLISH'], 'DEMOLISHALL'); + } -is_deeply([splice @called], ['Child::DEMOLISHALL', 'Class::DEMOLISHALL', 'Child::DEMOLISH', 'Class::DEMOLISH']); + is_deeply([splice @called], ['Child::DEMOLISH', 'Class::DEMOLISH'], 'DEMOLISHALL'); +} qw(Class Child);