diff -up Class-Load-0.08/t/003-load-class.t.orig Class-Load-0.08/t/003-load-class.t --- Class-Load-0.08/t/003-load-class.t.orig 2011-08-16 13:12:37.524903584 +0100 +++ Class-Load-0.08/t/003-load-class.t 2011-08-16 13:52:49.419154130 +0100 @@ -4,22 +4,18 @@ use warnings; use Test::More tests => 19; use lib 't/lib'; use Test::Class::Load ':all'; -use Test::Fatal; +use Test::Exception; ok(load_class('Class::Load::OK'), "loaded class OK"); is($Class::Load::ERROR, undef); -like( exception { - load_class('Class::Load::Nonexistent') -}, qr{^Can't locate Class/Load/Nonexistent.pm in \@INC}); +throws_ok { load_class('Class::Load::Nonexistent') } qr{^Can't locate Class/Load/Nonexistent.pm in \@INC}, 'non-existent class'; like($Class::Load::ERROR, qr{^Can't locate Class/Load/Nonexistent.pm in \@INC}); ok(load_class('Class::Load::OK'), "loaded class OK"); is($Class::Load::ERROR, undef); -like( exception { - load_class('Class::Load::SyntaxError') -}, qr{^Missing right curly or square bracket at }); +throws_ok { load_class('Class::Load::SyntaxError') } qr{^Missing right curly or square bracket at }, 'syntax error'; like($Class::Load::ERROR, qr{^Missing right curly or square bracket at }); ok(is_class_loaded('Class::Load::OK')); @@ -35,9 +31,7 @@ ok(load_class('Class::Load::Inlined'), " is($Class::Load::ERROR, undef); ok(is_class_loaded('Class::Load::Inlined')); -like( exception { - load_class('Class::Load::VersionCheck', { -version => 43 }) -}, qr/^Class::Load::VersionCheck version 43 required/); +throws_ok { load_class('Class::Load::VersionCheck', { -version => 43 }) } qr/^Class::Load::VersionCheck version 43 required/, 'version check'; ok(load_class('Class::Load::VersionCheck', { -version => 41 }), "loaded class with version check"); @@ -45,10 +39,6 @@ ok(load_class('Class::Load::VersionCheck ok(load_class('Class::Load::VersionCheck2', { -version => 41 }), "loaded class with version check"); -like( exception { - load_class('Class::Load::VersionCheck2', { -version => 43 }) -}, qr/^Class::Load::VersionCheck2 version 43 required/); - -like( exception { - load_class('__PACKAGE__') -}, qr/__PACKAGE__\.pm.*\@INC/, 'errors sanely on __PACKAGE__.pm' ); +throws_ok { load_class('Class::Load::VersionCheck2', { -version => 43 }) } qr/^Class::Load::VersionCheck2 version 43 required/, 'version check 2'; + +throws_ok { load_class('__PACKAGE__') } qr/__PACKAGE__\.pm.*\@INC/, 'errors sanely on __PACKAGE__.pm'; diff -up Class-Load-0.08/t/004-load-double.t.orig Class-Load-0.08/t/004-load-double.t --- Class-Load-0.08/t/004-load-double.t.orig 2011-08-16 13:12:37.524903584 +0100 +++ Class-Load-0.08/t/004-load-double.t 2011-08-16 13:56:59.791548615 +0100 @@ -4,7 +4,7 @@ use warnings; use Test::More tests => 2; use lib 't/lib'; use Test::Class::Load ':all'; -use Test::Fatal; +use Test::Exception; # This test does 2 things. # Firstly, confirm that on 5.8, load_class will @@ -17,10 +17,5 @@ use Test::Fatal; # it will just die with "COMPILATION ERROR", which is # not useful ) # -like( exception { - load_class('Class::Load::SyntaxError'); -}, qr/syntax error/ ); - -like( exception { - load_class('Class::Load::SyntaxError'); -}, qr/syntax error/ ); +throws_ok { load_class('Class::Load::SyntaxError') } qr/syntax error/, 'syntax error 1'; +throws_ok { load_class('Class::Load::SyntaxError') } qr/syntax error/, 'syntax error 2'; diff -up Class-Load-0.08/t/005-load-optional.t.orig Class-Load-0.08/t/005-load-optional.t --- Class-Load-0.08/t/005-load-optional.t.orig 2011-08-16 13:12:37.524903584 +0100 +++ Class-Load-0.08/t/005-load-optional.t 2011-08-16 14:07:59.796945247 +0100 @@ -2,34 +2,14 @@ use strict; use warnings; -use Test::More tests => 8; -use Test::Fatal; +use Test::More tests => 6; +use Test::Exception; use lib 't/lib'; use Test::Class::Load qw( :all ); -is( - exception { - load_optional_class('Class::Load::OK'); - }, - undef, - 'No failure loading a good class' -); - -is( - exception { - load_optional_class('Class::Load::IDONOTEXIST'); - }, - undef, - 'No failure loading a missing class' -); - -isnt( - exception { - load_optional_class('Class::Load::SyntaxError'); - }, - undef, - 'Loading a broken class breaks' -); +load_optional_class('Class::Load::OK'); +load_optional_class('Class::Load::IDONOTEXIST'); +throws_ok { load_optional_class('Class::Load::SyntaxError') } qr/^Missing right curly or square bracket/, 'Loading a broken class breaks'; is( load_optional_class('Class::Load::OK'), 1 , 'Existing Class => 1'); is( load_optional_class('Class::Load::IDONOTEXIST'), 0, 'Missing Class => 0'); diff -up Class-Load-0.08/t/007-first-existing.t.orig Class-Load-0.08/t/007-first-existing.t --- Class-Load-0.08/t/007-first-existing.t.orig 2011-08-16 13:12:37.525903582 +0100 +++ Class-Load-0.08/t/007-first-existing.t 2011-08-16 13:58:30.189328336 +0100 @@ -1,7 +1,7 @@ #!/usr/bin/env perl use strict; use warnings; -use Test::Fatal; +use Test::Exception; use Test::More tests => 12; use lib 't/lib'; use Test::Class::Load 'load_first_existing_class'; @@ -22,84 +22,34 @@ is( 'load_first_existing_class ignore nonexistent class - works when good class is already loaded' ); -like( - exception { - load_first_existing_class( 'Foo', 'bad name' ); - }, - qr/^\QInvalid class name (bad name)/, - 'load_first_existing_class balks on bad class name' -); +throws_ok { load_first_existing_class( 'Foo', 'bad name' ) } qr/^\QInvalid class name (bad name)/, 'load_first_existing_class balks on bad class name'; -like( - exception { - load_first_existing_class( 'Class::Load::Nonexistent', 'Class::Load::Nonexistent2' ); - }, - qr/^\QCan't locate Class::Load::Nonexistent or Class::Load::Nonexistent2 in \E\@INC/, - 'load_first_existing_class throws an error when no classes can be loaded' -); +throws_ok { load_first_existing_class( 'Class::Load::Nonexistent', 'Class::Load::Nonexistent2' ) } qr/^\QCan't locate Class::Load::Nonexistent or Class::Load::Nonexistent2 in \E\@INC/, 'load_first_existing_class throws an error when no classes can be loaded'; -like( - exception { - load_first_existing_class( - 'Class::Load::Nonexistent', - 'Class::Load::Nonexistent2', - 'Class::Load::Nonexistent3' - ); - }, - qr/^\QCan't locate Class::Load::Nonexistent, Class::Load::Nonexistent2, or Class::Load::Nonexistent3 in \E\@INC/, - 'load_first_existing_class throws an error when no classes can be loaded' -); +throws_ok { load_first_existing_class('Class::Load::Nonexistent', 'Class::Load::Nonexistent2', 'Class::Load::Nonexistent3') } qr/^\QCan't locate Class::Load::Nonexistent, Class::Load::Nonexistent2, or Class::Load::Nonexistent3 in \E\@INC/, 'load_first_existing_class throws an error when no classes can be loaded'; -like( - exception { - load_first_existing_class( 'Class::Load::Nonexistent' ); - }, - qr/^\QCan't locate Class::Load::Nonexistent in \E\@INC/, - 'load_first_existing_class throws an error when given one class which it cannot load' -); +throws_ok { load_first_existing_class( 'Class::Load::Nonexistent' ) } qr/^\QCan't locate Class::Load::Nonexistent in \E\@INC/, 'load_first_existing_class throws an error when given one class which it cannot load'; -like( - exception { - load_first_existing_class( - 'Class::Load::VersionCheck', { -version => 43 }, - 'Class::Load::VersionCheck2', { -version => 43 }, - ); - }, - qr/^\QCan't locate Class::Load::VersionCheck (version >= 43) or Class::Load::VersionCheck2 (version >= 43) in \E\@INC/, - 'load_first_existing_class throws an error when given multiple classes which it cannot load because of version checks' -); +throws_ok { load_first_existing_class('Class::Load::VersionCheck', { -version => 43 }, 'Class::Load::VersionCheck2', { -version => 43 }, ) } qr/^\QCan't locate Class::Load::VersionCheck (version >= 43) or Class::Load::VersionCheck2 (version >= 43) in \E\@INC/, 'load_first_existing_class throws an error when given multiple classes which it cannot load because of version checks'; -like( - exception { +throws_ok { load_first_existing_class( 'Class::Load::VersionCheck', { -version => 43 }, 'Class::Load::VersionCheck2', { -version => 43 }, 'Class::Load::Nonexistent' - ); - }, - qr/^\QCan't locate Class::Load::VersionCheck (version >= 43), Class::Load::VersionCheck2 (version >= 43), or Class::Load::Nonexistent in \E\@INC/, - 'load_first_existing_class throws an error when given multiple classes which it cannot load, some because of version checks' -); + ) +} qr/^\QCan't locate Class::Load::VersionCheck (version >= 43), Class::Load::VersionCheck2 (version >= 43), or Class::Load::Nonexistent in \E\@INC/, 'load_first_existing_class throws an error when given multiple classes which it cannot load, some because of version checks'; -like( - exception { - load_first_existing_class( 'Class::Load::VersionCheck', {-version => 43} ); - }, - qr/^\QCan't locate Class::Load::VersionCheck (version >= 43) in \E\@INC/, - 'load_first_existing_class throws an error when given one class which it cannot load because of version checks' -); -like( - exception { +throws_ok { load_first_existing_class( 'Class::Load::VersionCheck', {-version => 43} ) } qr/^\QCan't locate Class::Load::VersionCheck (version >= 43) in \E\@INC/, 'load_first_existing_class throws an error when given one class which it cannot load because of version checks'; + +throws_ok { load_first_existing_class( 'Class::Load::VersionCheck2', { -version => 43 }, 'Class::Load::SyntaxError', { -version => 43 }, 'Class::Load::Nonexistent' - ); - }, - qr/^\QCouldn't load class (Class::Load::SyntaxError) because: Missing right curly or square bracket/, - 'load_first_existing_class throws an error when a class fails to load because of a syntax error' -); + ) +} qr/^\QCouldn't load class (Class::Load::SyntaxError) because: Missing right curly or square bracket/, 'load_first_existing_class throws an error when a class fails to load because of a syntax error'; is( load_first_existing_class( diff -up Class-Load-0.08/t/008-gvstash-bug.t.orig Class-Load-0.08/t/008-gvstash-bug.t --- Class-Load-0.08/t/008-gvstash-bug.t.orig 2011-08-16 13:12:37.525903582 +0100 +++ Class-Load-0.08/t/008-gvstash-bug.t 2011-08-16 13:52:13.683238232 +0100 @@ -1,22 +1,17 @@ #!/usr/bin/env perl use strict; use warnings; -use Test::Fatal; -use Test::More tests => 3; +use Test::Exception; +use Test::More tests => 1; use lib 't/lib'; use Test::Class::Load 'load_class'; -is( exception { - load_class('Class::Load::Stash::Sub'); -}, undef, 'Loaded Class::Load::Stash::Sub' ); +load_class('Class::Load::Stash::Sub'); Class::Load::Stash->can('a_method'); -is( exception { - load_class('Class::Load::Stash'); -}, undef, 'Loaded Class::Load::Stash' ); +load_class('Class::Load::Stash'); -is( exception { - Class::Load::Stash->a_method; -}, undef, -'Actually loaded Class::Load::Stash - we were not fooled by mention of this stash in Class::Load::Stash::Sub' ); +Class::Load::Stash->a_method; + +ok(1, 'reached end of test OK');