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 )