示例#1
0
 public function testListenerOnNoMessagesLoadedEventCanReturnTextDomainObject()
 {
     $trigger = null;
     $doNotTrigger = null;
     $textDomain = new TextDomain(array('foo' => 'BOOYAH'));
     $this->translator->enableEventManager();
     $events = $this->translator->getEventManager();
     $events->attach(Translator::EVENT_NO_MESSAGES_LOADED, function (EventInterface $event) use(&$trigger) {
         $trigger = true;
     });
     $events->attach(Translator::EVENT_NO_MESSAGES_LOADED, function (EventInterface $event) use($textDomain) {
         return $textDomain;
     });
     $events->attach(Translator::EVENT_NO_MESSAGES_LOADED, function (EventInterface $event) use(&$doNotTrigger) {
         $doNotTrigger = true;
     });
     $result = $this->translator->translate('foo', 'bar', 'baz');
     $this->assertTrue($trigger);
     $this->assertNull($doNotTrigger);
     $this->assertEquals('BOOYAH', $result);
 }