/** * Asserts that registerAutoloader registers callbacks at the stack and * can be removed * * @param AutoloadAPI $api An AutoloadAPI object * @param Mixed $callback The callback * * @dataProvider provideCallbacks * @return void */ public function testRegisterAndRemove(AutoloadAPI $api, $callback) { $api->registerAutoloader($callback); $this->assertTrue(in_array($callback, $api->getRegisteredAutoloaders())); // The autoloader loads now any class $class = uniqid('Test'); $object = new $class(); $this->assertEquals($class, $object->getName()); $api->removeAutoloader($callback); $this->assertFalse(in_array($callback, $api->getRegisteredAutoloaders())); // There is no autoloader left which would load any class $class = uniqid('Test2'); $helper = new AutoloaderTestHelper($this); $helper->assertNotLoadable($class); }
/** * Registers an autoloader at the stack and internally in $_registeredAutoloaders * * @param Mixed $autoloader The autoloader callback * * @see $_registeredAutoloaders * @return void */ public function registerAutoloader($autoloader) { parent::registerAutoloader($autoloader); $this->_registeredAutoloaders[] = $autoloader; }