function testGenerateInheritenceGraph() { $manager = new Event_Manager(); $manager->bind('tiki.wiki.update', 'tiki.wiki.save'); $manager->bind('tiki.wiki.save', 'tiki.save'); $manager->bind('tiki.file.save', 'tiki.save'); $manager->bind('tiki.wiki.save', array($this, 'callbackMultiply')); $manager->bind('tiki.wiki.update', array($this, 'callbackMultiply')); $manager->bind('tiki.pageload', array($this, 'callbackMultiply')); $this->assertEquals(array('nodes' => array('tiki.wiki.update', 'tiki.wiki.save', 'tiki.file.save', 'tiki.pageload', 'tiki.save'), 'edges' => array(array('from' => 'tiki.wiki.update', 'to' => 'tiki.wiki.save'), array('from' => 'tiki.wiki.save', 'to' => 'tiki.save'), array('from' => 'tiki.file.save', 'to' => 'tiki.save'))), $manager->getEventGraph()); }
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); }