use warnings;
use Test::More;
-use Test::Fatal;
+use Test::Exception;
use Moose::Meta::Role;
my $foo_role = Moose::Meta::Role->initialize('FooRole');
my $meta = Foo->meta;
- ok ! exception { Foo->new }, "lazy_build works";
+ lives_ok { Foo->new } "lazy_build works";
is( Foo->new->foos, 'many foos',
"correct value for 'foos' before inlining constructor" );
is( Foo->new->bars, 'many bars',
"correct value for 'bars' before inlining constructor" );
is( Foo->new->bazes, 'many bazes',
"correct value for 'bazes' before inlining constructor" );
- ok ! exception { $meta->make_immutable }, "Foo is imutable";
- ok ! exception { $meta->identifier }, "->identifier on metaclass lives";
- ok exception { $meta->add_role($foo_role) }, "Add Role is locked";
- ok ! exception { Foo->new }, "Inlined constructor works with lazy_build";
+ lives_ok { $meta->make_immutable } "Foo is imutable";
+ lives_ok { $meta->identifier } "->identifier on metaclass lives";
+ dies_ok { $meta->add_role($foo_role) } "Add Role is locked";
+ lives_ok { Foo->new } "Inlined constructor works with lazy_build";
is( Foo->new->foos, 'many foos',
"correct value for 'foos' after inlining constructor" );
is( Foo->new->bars, 'many bars',
"correct value for 'bars' after inlining constructor" );
is( Foo->new->bazes, 'many bazes',
"correct value for 'bazes' after inlining constructor" );
- ok ! exception { $meta->make_mutable }, "Foo is mutable";
- ok ! exception { $meta->add_role($foo_role) }, "Add Role is unlocked";
+ lives_ok { $meta->make_mutable } "Foo is mutable";
+ lives_ok { $meta->add_role($foo_role) } "Add Role is unlocked";
}
sub BUILD { 'baz' }
}
-ok ! exception { Bar->meta->make_immutable },
+lives_ok { Bar->meta->make_immutable }
'Immutable meta with single BUILD';
-ok ! exception { Baz->meta->make_immutable },
+lives_ok { Baz->meta->make_immutable }
'Immutable meta with multiple BUILDs';
=pod