use warnings;
use Test::More;
-use Test::Fatal;
+use Test::Exception;
{
package Foo;
my $meta = Foo->meta;
check_meta_sanity($meta, 'Foo');
-ok ! exception {
+lives_ok {
$meta = $meta->reinitialize($meta->name);
};
check_meta_sanity($meta, 'Foo');
-ok ! exception {
+lives_ok {
$meta = $meta->reinitialize($meta);
};
check_meta_sanity($meta, 'Foo');
-like exception {
+throws_ok {
$meta->reinitialize('');
-}, qr/You must pass a package name or an existing Class::MOP::Package instance/;
+} qr/You must pass a package name or an existing Class::MOP::Package instance/;
-like exception {
+throws_ok {
$meta->reinitialize($meta->new_object);
-}, qr/You must pass a package name or an existing Class::MOP::Package instance/;
+} qr/You must pass a package name or an existing Class::MOP::Package instance/;
{
package Bar::Meta::Method;
check_meta_sanity($meta, 'Bar');
isa_ok(Bar->meta->get_method('foo'), 'Bar::Meta::Method');
isa_ok(Bar->meta->get_attribute('bar'), 'Bar::Meta::Attribute');
-ok ! exception {
+lives_ok {
$meta = $meta->reinitialize('Bar');
};
check_meta_sanity($meta, 'Bar');
is(Bar->meta->get_method('foo')->test, 'FOO');
is(Bar->meta->get_attribute('bar')->tset, 'OOF');
-ok ! exception {
+lives_ok {
$meta = $meta->reinitialize('Bar');
};
is(Bar->meta->get_method('foo')->test, 'FOO');
check_meta_sanity($meta, 'Baz');
ok(!$meta->get_method('foo')->isa('Baz::Meta::Method'));
ok(!$meta->get_attribute('bar')->isa('Baz::Meta::Attribute'));
-ok ! exception {
+lives_ok {
$meta = $meta->reinitialize(
'Baz',
attribute_metaclass => 'Baz::Meta::Attribute',
check_meta_sanity($meta, 'Quux');
isa_ok(Quux->meta->get_method('foo'), 'Bar::Meta::Method');
isa_ok(Quux->meta->get_attribute('bar'), 'Bar::Meta::Attribute');
-like exception {
+throws_ok {
$meta = $meta->reinitialize(
'Quux',
attribute_metaclass => 'Baz::Meta::Attribute',
method_metaclass => 'Baz::Meta::Method',
);
-}, qr/compatible/;
+} qr/compatible/;
{
package Quuux::Meta::Attribute;
$meta = Quuux->meta;
check_meta_sanity($meta, 'Quuux');
ok($meta->has_method('bar'));
-ok ! exception {
+lives_ok {
$meta = $meta->reinitialize(
'Quuux',
attribute_metaclass => 'Quuux::Meta::Attribute',
$meta = Class::MOP::class_of('Blah');
check_meta_sanity($meta, 'Blah');
-ok ! exception {
+lives_ok {
$meta = Class::MOP::Class->reinitialize(
'Blah',
attribute_metaclass => 'Blah::Meta::Attribute',