Resolve skipped tests (for 5.6.2)
[gitmo/Mouse.git] / t / 001_mouse / 015-demolish.t
index 123c2d2..255cecf 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/env perl
 use strict;
 use warnings;
-use Test::More tests => 5;
+use Test::More tests => 10;
 
 my @called;
 
@@ -13,11 +13,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,13 +27,34 @@ 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;
+
+    is_deeply([splice @called], [], "no DEMOLISH calls yet");
 };
 
+is_deeply([splice @called], ['Class::DEMOLISH']);
+
+do {
+    my $child = Child->new;
+    is_deeply([splice @called], [], "no DEMOLISH calls yet");
+
+};
+
+is_deeply([splice @called], ['Child::DEMOLISH', 'Class::DEMOLISH']);
+
+Class->meta->make_immutable();
+Child->meta->make_immutable();
+
 is_deeply([splice @called], [], "no DEMOLISH calls yet");
 
 do {
@@ -42,7 +63,7 @@ do {
     is_deeply([splice @called], [], "no DEMOLISH calls yet");
 };
 
-is_deeply([splice @called], ['Class::DEMOLISHALL', 'Class::DEMOLISH']);
+is_deeply([splice @called], ['Class::DEMOLISH'], 'after make_immutable');
 
 do {
     my $child = Child->new;
@@ -50,4 +71,4 @@ do {
 
 };
 
-is_deeply([splice @called], ['Child::DEMOLISHALL', 'Class::DEMOLISHALL', 'Child::DEMOLISH', 'Class::DEMOLISH']);
+is_deeply([splice @called], ['Child::DEMOLISH', 'Class::DEMOLISH'], 'after make_immutable');