use strict;
use warnings;
-use Test::More tests => 3;
-use Test::Exception;
+use Test::More;
+use Test::Fatal;
-BEGIN {
- use_ok('Moose');
-}
{
package Foo;
sub DEMOLISH { }
}
-lives_ok {
+is( exception {
Bar->new();
-} 'Bar->new()';
+}, undef, 'Bar->new()' );
+
+is( exception {
+ Bar->meta->make_immutable;
+}, undef, 'Bar->meta->make_immutable' );
+
+is( Bar->meta->get_method('DESTROY')->package_name, 'Bar',
+ 'Bar has a DESTROY method in the Bar class (not inherited)' );
+
+is( exception {
+ Foo->meta->make_immutable;
+}, undef, 'Foo->meta->make_immutable' );
+
+is( Foo->meta->get_method('DESTROY')->package_name, 'Foo',
+ 'Foo has a DESTROY method in the Bar class (not inherited)' );
-lives_ok {
- my $bar = Bar->new();
- $bar->meta->make_immutable;
-} 'Bar->meta->make_immutable';
\ No newline at end of file
+done_testing;