setAccessible(true); $rexl->setValue($loader, true); } public function setUp() { $this->loader = Psr0::instance(); $this->findClassFile = new \ReflectionMethod($this->loader, "__findClassFile"); $this->findClassFile->setAccessible(true); } /* ***************************************************************** */ /* */ /* ***************************************************************** */ public function testUnregisterString() { $namespace = "\\DataNoPrefix"; $path = __DIR__ . "/fixture/classes/DataNoPrefix"; $class = "DataNoPrefix\\MiniData"; $this->loader->registerNamespacePath("\\UtilNoPrefix", __DIR__ . "/fixture/utility/UtilNoPrefix"); $this->loader->registerNamespacePath($namespace, $path); $this->loader->registerNamespacePath("\\UtilPrefix", __DIR__ . "/fixture/utility/UtilPrefix"); $minidatafile = $this->findClassFile->invoke($this->loader, $class); $this->assertNotNull($minidatafile); $this->loader->unregisterNamespacePath($namespace, $path); $file = $this->findClassFile->invoke($this->loader, $class); $this->assertNull($file); foreach ($this->loader->getPaths() as $p) { if (!is_array($p)) { continue; } $this->assertTrue(empty($p[$namespace])); } } public function testUnregisterArray() { $namespace = "\\DataNoPrefix"; $path = __DIR__ . "/fixture/classes/DataNoPrefix"; $class = "DataNoPrefix\\MiniData"; $this->loader->registerNamespacePath(array("\\UtilNoPrefix" => __DIR__ . "/fixture/utility/UtilNoPrefix", $namespace => $path, "\\UtilPrefix" => __DIR__ . "/fixture/utility/UtilPrefix")); $minidatafile = $this->findClassFile->invoke($this->loader, $class); $this->assertNotNull($minidatafile); $this->loader->unregisterNamespacePath($namespace, $path); $file = $this->findClassFile->invoke($this->loader, $class); $this->assertNull($file); foreach ($this->loader->getPaths() as $p) { if (!is_array($p)) { continue; } $this->assertTrue(empty($p[$namespace])); } } /* ***************************************************************** */ /* */ /* ***************************************************************** */ public function tearDown() { $this->loader->clearPaths(); } public static function tearDownAfterClass() { } }