Provided by: libpoe-component-client-mpd-perl_1.121670-1_all bug

NAME

       POE::Component::Client::MPD::Test - automate pococ-mpd testing

VERSION

       version 1.121670

SYNOPSIS

           POE::Component::Client::MPD->spawn( ... );
           POE::Component::Client::MPD::Test->new( { tests => [
               [ 'event', [ $arg1, $arg2, ... ], $sleep, \&check_results ],
               ...
           ] } );
           POE::Kernel->run;

DESCRIPTION

       This module implements a POE::Session used to schedule tests according to a plan, calling
       hooks used to check whether a given test was successful.

       To use it, you need to first spawn a POE::Component::Client::MPD session - it's this
       session that will be tested. And don't forget to call POE's mainloop!

       Once started, it will fire the first event to the MPD session, wait for the return
       message, call the check callback, and wait a bit... before starting again with the next
       event in the list.

       When all events have been sent, the session will shut down itself.

ATTRIBUTES

   alias
       The session alias. Defaults to "tester".

   tests
       The list (array ref) of tests to run. It is required in the constructor call. Each list
       item is an array reference with the following sub-items:

       ·   event - the event to send to the POE::Component::Client::MPD session

       ·   args - event arguments (an array reference)

       ·   sleep - number of seconds to wait before calling next events

       ·   callback - a sub reference to check the results of current event. The real tests
           should be done in this sub. It will be called with the message received and the
           message payload.

PUBLIC EVENTS ACCEPTED

   next_test( )
       Called to schedule the next test.

   mpd_result( $msg )
       Called when mpd talks back, with $msg as a POE::Component::Client::MPD::Message param.

AUTHOR

       Jerome Quelin

COPYRIGHT AND LICENSE

       This software is copyright (c) 2007 by Jerome Quelin.

       This is free software; you can redistribute it and/or modify it under the same terms as
       the Perl 5 programming language system itself.