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]); }