logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

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.

Author

       Jerome Quelin

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.

Name

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

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.

Synopsis

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

Version

       version 2.001

See Also