/** * Tests that all plugins are iterated after filters are cleared. * * @depends testIteratesPluginsWithNameFilters * @depends testIteratesPluginsWithMethodFilters */ public function testIteratesPluginsAfterClearingFilters() { $this->iterator->addPluginFilter('0'); $this->iterator->addMethodFilter('method1'); $this->iterator->clearFilters(); $expected = range(0, 4); $actual = array(); foreach ($this->iterator as $plugin) { $actual[] = $plugin->getName(); } $this->assertEquals($expected, $actual); }
/** * Applies a set of rules to a plugin handler iterator. * * @param Phergie_Plugin_Iterator $iterator Iterator to receive rules * @param array $rules Associate array containing * either a 'plugins' key pointing to an array containing plugin * short names to filter, a 'methods' key pointing to an array * containing method names to filter, or both * * @return void */ protected function applyRules(Phergie_Plugin_Iterator $iterator, array $rules) { if (!empty($rules['plugins'])) { $iterator->addPluginFilter($rules['plugins']); } if (!empty($rules['methods'])) { $iterator->addMethodFilter($rules['methods']); } }