From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

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