Fix behaviour on privmsg and add tests for privmsg
authorMarius Gavrilescu <marius@ieval.ro>
Sat, 29 Aug 2015 21:33:49 +0000 (00:33 +0300)
committerMarius Gavrilescu <marius@ieval.ro>
Sat, 29 Aug 2015 21:33:49 +0000 (00:33 +0300)
lib/POE/Component/IRC/Plugin/Seen.pm
t/POE-Component-IRC-Plugin-Seen.t

index cc2f76defd9488cabf7938e0423cbc921ad714b6..a8f7d80d6b21fdde793bd044804d90368efb3d42 100644 (file)
@@ -83,7 +83,7 @@ sub S_msg {
        my ($self, $irc, $rfullname, $rtargets, $rmessage) = @_;
        my $nick = parse_user $$rfullname;
 
        my ($self, $irc, $rfullname, $rtargets, $rmessage) = @_;
        my $nick = parse_user $$rfullname;
 
-       seen $self, $irc, $$rmessage, $$rtargets->[0], $nick if $$rmessage =~ /^\s*!?seen\s+([^ ]+)/
+       seen $self, $irc, $1, $$rtargets->[0], $nick if $$rmessage =~ /^\s*!?seen\s+([^ ]+)/
 }
 
 1;
 }
 
 1;
index fdf55aebc6d041bf934b5116b868652ca9021649..607e5f66323ae266cbd8285a4f2f15c0b68a52de 100644 (file)
@@ -2,7 +2,7 @@ use v5.14;
 use strict;
 use warnings;
 
 use strict;
 use warnings;
 
-use Test::More tests => 8;
+use Test::More tests => 10;
 use Test::MockObject;
 
 BEGIN { *CORE::GLOBAL::localtime = sub { 'now' } }
 use Test::MockObject;
 
 BEGIN { *CORE::GLOBAL::localtime = sub { 'now' } }
@@ -21,9 +21,10 @@ my $rmgv = \'mgv!marius@ieval.ro';
 
 # Sub setup
 sub runtest{
 
 # Sub setup
 sub runtest{
-       my ($message, $expect, $comment) = @_;
+       my ($message, $expect, $comment, $privmsg) = @_;
        undef $last_msg;
        undef $last_msg;
-       $self->S_public($mockirc, $rmgv, \$channels, \$message);
+       $self->S_public($mockirc, $rmgv, \$channels, \$message) unless $privmsg;
+       $self->S_msg($mockirc, $rmgv, \$channels, \$message) if $privmsg;
        is($last_msg, $expect, $comment)
 }
 
        is($last_msg, $expect, $comment)
 }
 
@@ -43,3 +44,7 @@ $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";
 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.011689 seconds and 4 git commands to generate.