예제 #1
0
 function testCalltimeArgumentsOverrideBinding()
 {
     $manager = new Event_Manager();
     $manager->bind('tiki.wiki.update', 'tiki.wiki.save');
     $manager->bind('tiki.save', array($this, 'callbackAdd'));
     $manager->bind('tiki.wiki.save', array($this, 'callbackAdd'), array('amount' => 3));
     $manager->bind('tiki.wiki.update', array($this, 'callbackMultiply'));
     $manager->trigger('tiki.wiki.update', array('amount' => 4));
     $this->assertEquals(16, $this->called);
 }
예제 #2
0
 function testIndependentTriggers()
 {
     $manager = new Event_Manager();
     $manager->bind('tiki.wiki.update', 'tiki.wiki.save');
     $manager->bind('tiki.wiki.save', 'tiki.save');
     $manager->bindPriority(10, 'tiki.save', array($this, 'callbackAdd'));
     $manager->bind('tiki.wiki.save', array($this, 'callbackMultiply'));
     $manager->bind('tiki.wiki.update', array($this, 'callbackMultiply'));
     $manager->bindPriority(5, 'tiki.test.foo', function () use($manager) {
         $manager->trigger('tiki.wiki.update');
     });
     $manager->trigger('tiki.test.foo');
     $this->assertEquals(1, $this->called);
 }