use warnings;
use Test::MockObject;
-use Test::More tests => 16;
+use Test::More tests => 17;
BEGIN { use_ok('POE::Component::IRC::Plugin::Infobot') };
no warnings 'redefine';
sub POE::Component::IRC::Plugin::Infobot::getstr {
- my $rstrings = shift;
- sprintf @{$rstrings}[0], @_
+ my $rstrings = shift;
+ sprintf @{$rstrings}[0], @_
}
use warnings 'redefine';
my $last_ctcp;
sub yield {
- $last_msg = $_[3] if $_[1] eq 'privmsg';
- $last_ctcp = $_[3] if $_[1] eq 'ctcp';
+ $last_msg = $_[3] if $_[1] eq 'privmsg';
+ $last_ctcp = $_[3] if $_[1] eq 'ctcp';
}
my $mockirc = Test::MockObject->new;
my $self = POE::Component::IRC::Plugin::Infobot->new(filename => undef);
sub runtest{
- my ($message, $expect, $comment, $private) = @_;
- undef $last_msg;
- undef $last_ctcp;
- $self->S_public($mockirc, \'mgv!marius@ieval.ro', \([ '#chan' ]), \$message) unless $private;
- $self->S_msg($mockirc, \'mgv!marius@ieval.ro', undef, \$message) if $private;
- is($last_msg // $last_ctcp, $expect, $comment)
+ my ($message, $expect, $comment, $private) = @_;
+ undef $last_msg;
+ undef $last_ctcp;
+ $self->S_public($mockirc, \'mgv!marius@ieval.ro', \([ '#chan' ]), \$message) unless $private;
+ $self->S_msg($mockirc, \'mgv!marius@ieval.ro', undef, \$message) if $private;
+ is($last_msg // $last_ctcp, $expect, $comment)
}
runtest 'bot: a is b', 'sure, mgv', 'add';
runtest 'a?', 'a is b', 'query';
runtest 'bot: forget a', 'mgv: I forgot a', 'forget';
runtest 'bot: forget a', 'I didn\'t have anything matching a, mgv', 'forget inexistent factoid';
+runtest '!forget a', 'I didn\'t have anything matching a, mgv', '!forget';
runtest 'a?', undef, 'query for inexistent factoid';
runtest 'bot: a?', 'I don\'t know, mgv', 'addressed query for inexistent factoid';