Fix behaviour on privmsg and add tests for privmsg
[poe-component-irc-plugin-seen.git] / t / POE-Component-IRC-Plugin-Seen.t
index 0a0d925ea9852c464d295c7b548098993ec1cba1..607e5f66323ae266cbd8285a4f2f15c0b68a52de 100644 (file)
@@ -2,7 +2,7 @@ use v5.14;
 use strict;
 use warnings;
 
-use Test::More tests => 8;
+use Test::More tests => 10;
 use Test::MockObject;
 
 BEGIN { *CORE::GLOBAL::localtime = sub { 'now' } }
@@ -21,25 +21,30 @@ my $rmgv = \'mgv!marius@ieval.ro';
 
 # Sub setup
 sub runtest{
-  my ($message, $expect, $comment) = @_;
-  undef $last_msg;
-  $self->S_public($mockirc, $rmgv, \$channels, \$message);
-  is($last_msg, $expect, $comment)
+       my ($message, $expect, $comment, $privmsg) = @_;
+       undef $last_msg;
+       $self->S_public($mockirc, $rmgv, \$channels, \$message) unless $privmsg;
+       $self->S_msg($mockirc, $rmgv, \$channels, \$message) if $privmsg;
+       is($last_msg, $expect, $comment)
 }
 
 runtest 'something', undef, 'initialize';
-runtest 'bot: seen mgv', 'I last saw mgv now on #chan saying something', 'public';
+runtest 'seen mgv', 'I last saw mgv now on #chan saying something', 'public';
 
 $self->S_ctcp_action($mockirc, $rmgv, \$channels, \'sleeping');
-runtest 'bot: seen mgv', 'I last saw mgv now on #chan doing: * sleeping', 'ctcp_action';
+runtest '!seen mgv', 'I last saw mgv now on #chan doing: * sleeping', 'ctcp_action';
 
 $self->S_join($mockirc, $rmgv, \'#chan');
 runtest 'bot: seen mgv', 'I last saw mgv now joining #chan', 'join';
 
 $self->S_part($mockirc, $rmgv, \'#chan', \'');
-runtest 'bot: seen mgv', 'I last saw mgv now parting #chan', 'part without message';
+runtest 'bot: !seen mgv', 'I last saw mgv now parting #chan', 'part without message';
 
 $self->S_part($mockirc, $rmgv, \'#chan', \'buh-bye');
 runtest 'bot: seen mgv', "I last saw mgv now parting #chan with message 'buh-bye'", 'part with message';
 
 runtest 'bot: seen asd', "I haven't seen asd", "haven't seen";
+
+# Private messages
+runtest 'seen asd', "I haven't seen asd", "haven't seen", 1;
+runtest ' !seen asd', "I haven't seen asd", "haven't seen", 1;
This page took 0.010939 seconds and 4 git commands to generate.