use strict; use warnings; use Test::More 0.88; use if $ENV{AUTHOR_TESTING}, 'Test::Warnings'; do { package Class1; use Class::Method::Modifiers; eval { before foo => sub {}; }; ::like($@, qr/The method 'foo' is not found in the inheritance hierarchy for class Class1/, ); }; do { package Class2; use Class::Method::Modifiers; eval { after foo => sub {}; }; ::like( $@, qr/The method 'foo' is not found in the inheritance hierarchy for class Class2/, ); }; do { package Class3; use Class::Method::Modifiers; eval { around foo => sub {}; }; ::like( $@, qr/The method 'foo' is not found in the inheritance hierarchy for class Class3/, ); }; do { package Class4; use Class::Method::Modifiers; sub foo {} eval { around 'foo', 'bar' => sub {}; }; ::like( $@, qr/The method 'bar' is not found in the inheritance hierarchy for class Class4/, ); }; done_testing;