/** * Tests fromEvent(). */ public function testFromEvent() { $event = Phake::mock('\\Phergie\\Irc\\Event\\UserEventInterface'); // EventInterface $message = 'message'; $connection = Phake::mock('\\Phergie\\Irc\\ConnectionInterface'); $params = array('param1', 'param2'); $command = 'command'; Phake::when($event)->getMessage()->thenReturn($message); Phake::when($event)->getConnection()->thenReturn($connection); Phake::when($event)->getParams()->thenReturn($params); Phake::when($event)->getCommand()->thenReturn($command); // UserEventInterface $prefix = 'prefix'; $nick = 'nick'; $username = '******'; $host = 'host'; $targets = array('target1', 'target2'); Phake::when($event)->getPrefix()->thenReturn($prefix); Phake::when($event)->getNick()->thenReturn($nick); Phake::when($event)->getUsername()->thenReturn($username); Phake::when($event)->getHost()->thenReturn($host); Phake::when($event)->getTargets()->thenReturn($targets); $this->event->fromEvent($event); // EventInterface $this->assertSame($message, $this->event->getMessage()); $this->assertSame($connection, $this->event->getConnection()); $this->assertSame($params, $this->event->getParams()); $this->assertSame($command, $this->event->getCommand()); // UserEventInterface $this->assertSame($prefix, $this->event->getPrefix()); $this->assertSame($nick, $this->event->getNick()); $this->assertSame($username, $this->event->getUsername()); $this->assertSame($host, $this->event->getHost()); $this->assertSame($targets, $this->event->getTargets()); }
/** * Responds to a parameter-less help command with a list of available * commands. * * @param \Phergie\Irc\Plugin\React\Command\CommandEvent $event * @param \Phergie\Irc\Bot\React\EventQueueInterface $queue */ protected function listCommands(CommandEvent $event, EventQueueInterface $queue) { $targets = $event->getTargets(); $target = reset($targets); $nick = $event->getNick(); if ($target === $event->getConnection()->getNickname()) { $target = $nick; $address = ''; } else { $address = $nick . ': '; } $method = 'irc' . $event->getCommand(); $message = $address . $this->listText . implode(' ', $this->commands); $queue->{$method}($target, $message); }