use Test::More;
use lib './t';
use strict;
eval {
require Sub::WrapPackages;
};
if ($@) {
plan skip_all => "Sub::WrapPackages required to test method execution logging";
exit;
}
plan tests => 5;
$ENV{CGI_APP_RETURN_ONLY} = 1;
use TestAppLogMethods;
my $t1_obj = TestAppLogMethods->new();
my $t1_output = $t1_obj->run();
my $logoutput = ${$t1_obj->{__LOG_MESSAGES}->{HANDLE}};
like($logoutput, qr/log debug/, 'logged debug message');
like($logoutput, qr/calling TestAppLogMethods::test_mode\(TestAppLogMethods=HASH/, "logged call to 'test_mode'");
like($logoutput, qr/returning from TestAppLogMethods::test_mode \(test_mode return value\)/, "logged return from 'test_mode'");
like($logoutput, qr/calling TestAppLogMethods::other_method\(param1, param2\)/, "logged call to 'other_method'");
like($logoutput, qr/returning from TestAppLogMethods::other_method \(other_method return value\)/, "logged return from 'other_method'");