Exemple #1
0
 public function testGetSetParser()
 {
     $api = new Api();
     $parser = $api->getParser();
     $this->assertInstanceOf('\\Phergie\\Irc\\Parser', $parser);
     // And set a new one.
     $parser = new \Phergie\Irc\Parser();
     $api->setParser($parser);
     $parserFromApi = $api->getParser();
     $this->assertSame($parser, $parserFromApi);
 }
 /**
  * Writes data to the socket and makes sure it is logged.
  *
  * @param string $data The data to log.
  */
 public function write($data)
 {
     $parsed = $this->api->getParser()->parse($data);
     if (empty($parsed)) {
         $this->api->getLogger()->warning('Malformed outgoing message: ' . $data);
         return;
     }
     $this->api->getLogger()->info('>> ' . $data);
     $this->stream->write($data);
     // Trigger a new irc.data.out event.
     $this->api->getEmitter()->emit('irc.data.out', [$parsed]);
     $this->api->getEmitter()->emit('irc.data.out.' . strtolower($parsed['command']), [$parsed]);
 }