Bot-BasicBot-Pluggable
view release on metacpan or search on metacpan
lib/Test/Bot/BasicBot/Pluggable.pm view on Meta::CPAN
my $bot = Test::Bot::BasicBot->new();
$bot->load('MyModule');
is ( $bot->tell_direct('foo'), 'bar');
is ( $bot->tell_indirect('foo'), 'bar');
is ( $bot->tell_private('foo'), 'bar');
=head1 DESCRIPTION
Test::Bot::BasicBot::Pluggable was written to provide a
minimalistic testing bot in order to write cleaner unit tests for
Bot::BasicBot::Pluggable modules.
=head1 SUBROUTINES/METHODS
=head2 new
Creates a new Test::Bot::BasicBot::Pluggable object, which is
basically just a subclass of Bot::BasicBot::Pluggable with a few
special methods. The default nickname is 'test_bot' and it contains
a in-memory store instead of sqlite. It takes the same arguments as
Bot::BasicBot::Pluggable.
=head1 INSTANCE METHODS
=head2 tell_direct
Sends the provided string to the bot like it was send directly to the bot in a public channel. The channel is called '#test' and the sending user 'test_user'.
test_user@#test> test_bot: foo
=head2 tell_indirect
Sends the provided string to the bot like it was send to a public channel without addressing. The channel is called '#test' and the sending user 'test_user'.
test_user@#test> foo
=head2 tell_private
Sends the provided string to the bot like it was send in a private channel. The sending user 'test_user'.
test_user@test_bot> foo
=head2 tell
This is the working horse of Test::Bot::BasicBot::Pluggable. It
basically builds a message hash as argument to the bots said()
function. You should never have to call it directly.
=head2 connect
Dispatch the connected event to all loaded modules without actually
connecting to anything.
=head2 DESTROY
The special subroutine is explicitly overridden with an empty
subroutine as otherwise AUTOLOAD in Bot::BasicBot will be called
for it.
=head1 BUGS AND LIMITATIONS
There are no methods to test join, part and emote.
=head1 AUTHOR
Mario Domgoergen <mdom@cpan.org>
=head1 LICENSE AND COPYRIGHT
Copyright 2009 Mario Domgoergen, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
( run in 1.243 second using v1.01-cache-2.11-cpan-39bf76dae61 )