Phergie\Irc\Bot\React\Bot::setParser PHP Méthode

setParser() public méthode

Sets the parser for generated event data in use by the bot.
public setParser ( Phergie\Irc\ParserInterface $parser )
$parser Phergie\Irc\ParserInterface
    public function setParser(ParserInterface $parser)
    {
        $this->parser = $parser;
    }

Usage Example

 /**
  * Tests listeners set up by supporting methods when the client receives a
  * an event.
  *
  * @param \Phergie\Irc\Event\EventInterface $eventObject
  * @param string $eventType
  * @param string $eventSubtype
  * @dataProvider dataProviderEventCallbacks
  */
 public function testEventCallbacks(EventInterface $eventObject, $eventType, $eventSubtype)
 {
     $params = array();
     $message = $params[] = array('foo' => 'bar');
     $converter = $this->getMockConverter();
     Phake::when($converter)->convert($message)->thenReturn($eventObject);
     $this->bot->setConverter($converter);
     $parser = $this->getMockParser();
     Phake::when($parser)->parse($message)->thenReturn($message);
     $this->bot->setParser($parser);
     $client = new \Phergie\Irc\Client\React\Client();
     $this->bot->setClient($client);
     $write = $params[] = $this->getMockWriteStream();
     $connection = $params[] = $this->getMockConnection();
     $logger = $params[] = $this->getMockLogger();
     $queue = $this->getMockEventQueue();
     $queueFactory = $this->getMockEventQueueFactory();
     Phake::when($queueFactory)->getEventQueue($connection)->thenReturn($queue);
     $this->bot->setEventQueueFactory($queueFactory);
     $test = $this;
     $allCalled = false;
     $typeCalled = false;
     $client->on('irc.' . $eventType . '.each', function ($param, $otherQueue) use(&$allCalled, $test, $eventObject, $queue) {
         $allCalled = true;
         $test->assertSame($eventObject, $param);
         $test->assertSame($otherQueue, $queue);
     });
     $client->on('irc.' . $eventType . '.' . $eventSubtype, function ($param, $otherQueue) use(&$typeCalled, $test, $eventObject, $queue) {
         $typeCalled = true;
         $test->assertSame($eventObject, $param);
         $test->assertSame($otherQueue, $queue);
     });
     $client->emit('irc.' . $eventType, $params);
     $this->assertTrue($allCalled);
     $this->assertTrue($typeCalled);
     Phake::verify($eventObject)->setConnection($connection);
 }