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