Initial release
[poe-component-irc-plugin-hello.git] / t / POE-Component-IRC-Plugin-Hello.t
1 use v5.14;
2 use strict;
3 use warnings;
4
5 use Test::More tests => 15;
6 use Test::MockObject;
7
8 BEGIN { use_ok('POE::Component::IRC::Plugin::Hello') };
9
10 # Variable setup
11 my $hello_sent;
12
13 my $mockirc = Test::MockObject->new;
14 $mockirc->mock(yield => sub { $hello_sent = 1 })->set_always(nick_name => 'hellobot');
15
16 my $self = POE::Component::IRC::Plugin::Hello->new;
17 my $channels = [ '#chan' ];
18
19 # Sub setup
20 sub runtest{
21 my ($message, $expect, $comment) = @_;
22 $hello_sent=0;
23 $self->S_public($mockirc, \'mgv!marius@ieval.ro', \$channels, \$message);
24 ok($hello_sent == $expect, $comment)
25 }
26
27 #Tests
28 runtest 'privet', 1, 'simple privet';
29 runtest 'PrIvEt', 1, 'privet in mixed case';
30 runtest ' privet ', 1, 'privet with spaces';
31 runtest 'hellobot: privet', 1, 'addressed privet';
32 runtest 'hellobot: privet ', 1, 'addressed privet with spaces';
33 runtest 'ahoy', 1, 'ahoy';
34 runtest 'namaste', 1, 'namaste';
35 runtest 'neaţa', 1, 'neaţa (UTF-8 test)';
36 runtest 'こんにちは', 1, 'こんにちは (another UTF-8 test)';
37
38 runtest 'salu', 0, 'salu (misspelling)';
39 runtest 'hii', 0, 'hii (misspelling)';
40 runtest 'neaţa mgv', 0, 'neaţa mgv (valid greeting with garbage after it)';
41
42 $self = POE::Component::IRC::Plugin::Hello->new(greetings => ['sayonara']);
43
44 runtest 'privet', 0, 'custom greetings - privet';
45 runtest ' sayonara ', 1, 'custom greetings - sayonara';
This page took 0.021269 seconds and 4 git commands to generate.