diff --git a/Makefile.PL b/Makefile.PL index 2037fd5..351c360 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -7,6 +7,7 @@ WriteMakefile( NAME => 'qpsmtpd', VERSION_FROM => 'lib/Qpsmtpd.pm', PREREQ_PM => { + 'Test::Output' => 0, 'Data::Dumper' => 0, 'Date::Parse' => 0, 'File::Temp' => 0, diff --git a/t/misc.t b/t/misc.t index 496f4e6..cae183e 100644 --- a/t/misc.t +++ b/t/misc.t @@ -1,4 +1,5 @@ -use Test::More tests => 12; +use Test::More tests => 14; +use Test::Output; use strict; use lib 't'; use_ok('Test::Qpsmtpd'); @@ -6,10 +7,21 @@ use_ok('Test::Qpsmtpd'); ok(my ($smtpd, $conn) = Test::Qpsmtpd->new_conn(), "get new connection"); # fault method -is(($smtpd->fault)->[0], 451, 'fault returns 451'); -is(($smtpd->fault("test message"))->[1], - "Internal error - try again later - test message", - 'returns the input message'); +{ + my $fault; + stderr_like { $fault = $smtpd->fault } + qr/program fault - command not performed \(/, + 'fault outputs proper warning to STDOUT'; + is($fault->[0], 451, 'fault returns 451'); +}; +{ + my $fault; + stderr_like { $fault = $smtpd->fault('test message') } + qr/test message \(/, + 'fault outputs proper custom warning to STDOUT'; + is($fault->[1], 'Internal error - try again later - test message', + 'returns the input message'); +}; # vrfy command is(($smtpd->command('VRFY '))[0], 252, 'VRFY command');