コード例 #1
0
 public function testDispatchSomeEventsThroughAdHocListener()
 {
     $mockTester = $this->getMockBuilder('\\stdClass')->setMethods(array('doSomething'))->getMock();
     $mockTester->expects($this->once())->method('doSomething');
     $eventDispatcherFactory = new EventDispatcherFactory();
     $eventDispatcher = $eventDispatcherFactory->newGenericEventDispatcher();
     $eventDispatcher->addListener('notify.bar', new BarListener());
     $dispatchContext = new DispatchContext();
     $dispatchContext->set('mock', $mockTester);
     $eventDispatcher->dispatch('notify.bar', $dispatchContext);
     $eventDispatcher->dispatch('try.notify.empty.listener');
 }
コード例 #2
0
 private static function newEventDispatcher()
 {
     $eventListenerRegistry = new EventListenerRegistry(EventDispatcherFactory::getInstance()->newGenericEventListenerCollection());
     $eventDispatcher = EventDispatcherFactory::getInstance()->newGenericEventDispatcher();
     $eventDispatcher->addListenerCollection($eventListenerRegistry);
     return $eventDispatcher;
 }
コード例 #3
0
 public function verifyFactboxCacheDeleteEvent(EventListenerCollection $instance)
 {
     $cache = $this->getMockBuilder('\\Onoi\\Cache\\Cache')->disableOriginalConstructor()->getMock();
     $title = $this->getMockBuilder('\\Title')->disableOriginalConstructor()->getMock();
     $title->expects($this->atLeastOnce())->method('getArticleID')->will($this->returnValue(42));
     ApplicationFactory::getInstance()->registerObject('Cache', $cache);
     $dispatchContext = EventDispatcherFactory::getInstance()->newDispatchContext();
     $dispatchContext->set('title', $title);
     $this->assertListenerExecuteFor('factbox.cache.delete', $instance, $dispatchContext);
 }
コード例 #4
0
 public function verifyPropertyTypeChangeEvent(EventListenerCollection $instance)
 {
     $store = $this->getMockBuilder('\\SMW\\Store')->disableOriginalConstructor()->getMockForAbstractClass();
     $store->expects($this->atLeastOnce())->method('getProperties')->will($this->returnValue(array()));
     $store->expects($this->atLeastOnce())->method('getInProperties')->will($this->returnValue(array()));
     ApplicationFactory::getInstance()->registerObject('Store', $store);
     $dispatchContext = EventDispatcherFactory::getInstance()->newDispatchContext();
     $dispatchContext->set('subject', new DIWikiPage('Foo', NS_MAIN));
     $this->assertListenerExecuteFor('property.spec.change', $instance, $dispatchContext);
 }
コード例 #5
0
 public function verifyOnAfterSemanticDataUpdateCompleteEvent(EventListenerCollection $instance)
 {
     $dispatchContext = EventDispatcherFactory::getInstance()->newDispatchContext();
     $dispatchContext->set('subject', new DIWikiPage('Foo', NS_MAIN));
     $this->assertListenerExecuteFor('on.after.semanticdata.update.complete', $instance, $dispatchContext);
 }
コード例 #6
0
 public function testCanConstructGenericEventListenerCollection()
 {
     $instance = new EventDispatcherFactory();
     $this->assertInstanceOf('\\Onoi\\EventDispatcher\\Listener\\GenericEventListenerCollection', $instance->newGenericEventListenerCollection());
 }