add a warning for immutablizing a class with mutable ancestors
[gitmo/Moose.git] / t / 300_immutable / 005_multiple_demolish_inline.t
1 #!/usr/bin/perl
2
3 use strict;
4 use warnings;
5
6 use Test::More tests => 5;
7 use Test::Exception;
8
9
10
11 {
12     package Foo;
13     use Moose;
14
15     has 'foo' => (is => 'rw', isa => 'Int');
16
17     sub DEMOLISH { }
18 }
19
20 {
21     package Bar;
22     use Moose;
23
24     extends qw(Foo);
25     has 'bar' => (is => 'rw', isa => 'Int');
26
27     sub DEMOLISH { }
28 }
29
30 lives_ok {
31     Foo->meta->make_immutable;
32 } 'Foo->meta->make_immutable';
33
34 is( Foo->meta->get_method('DESTROY')->package_name, 'Foo',
35     'Foo has a DESTROY method in the Foo class (not inherited)' );
36
37 lives_ok {
38     Bar->new();
39 } 'Bar->new()';
40
41 lives_ok {
42     Bar->meta->make_immutable;
43 } 'Bar->meta->make_immutable';
44
45 is( Bar->meta->get_method('DESTROY')->package_name, 'Bar',
46     'Bar has a DESTROY method in the Bar class (not inherited)' );