3 namespace frostbane\autoloader\test;
5 use frostbane\autoloader\Psr0;
6 use PHPUnit_Framework_TestCase;
8 class RegisterNamespacePath
9 extends PHPUnit_Framework_TestCase
11 /* ***************************************************************** */
13 /* ***************************************************************** */
21 * @var \ReflectionMethod
23 private $findClassFile;
25 /* ***************************************************************** */
27 /* ***************************************************************** */
29 public static function
32 $loader = Psr0::instance();
34 $rexl = new \ReflectionProperty($loader, "__registered");
36 $rexl->setAccessible(true);
37 $rexl->setValue($loader, true);
43 $this->loader = Psr0::instance();
45 $this->findClassFile = new \ReflectionMethod($this->loader, "__findClassFile");
47 $this->findClassFile->setAccessible(true);
51 /* ***************************************************************** */
53 /* ***************************************************************** */
56 testRegisterInvalidNamespace()
58 $this->setExpectedException("InvalidArgumentException");
59 $this->loader->registerNamespacePath(__DIR__ . "/fixture/classes");
63 testRegisterInvalidNamespacePath()
65 $this->setExpectedException("InvalidArgumentException");
66 $this->loader->registerNamespacePath(array("\\DataNoPrefix", __DIR__ . "/fixture/classes/DataNoPrefix"),
73 $this->loader->registerNamespacePath("\\DataNoPrefix", __DIR__ . "/fixture/classes/DataNoPrefix");
75 $minidatafile = $this->findClassFile->invoke($this->loader, "DataNoPrefix\\MiniData");
77 $this->assertNotNull($minidatafile);
83 $this->loader->registerNamespacePath(array("\\DataNoPrefix" => __DIR__ . "/fixture/classes/DataNoPrefix",
84 "\\UtilNoPrefix" => __DIR__ . "/fixture/utility/UtilNoPrefix"));
86 $minidatafile = $this->findClassFile->invoke($this->loader, "DataNoPrefix\\MiniData");
87 $miniutilfle = $this->findClassFile->invoke($this->loader, "UtilNoPrefix\\MiniUtil");
89 $this->assertNotNull($minidatafile);
90 $this->assertNotNull($miniutilfle);
94 testRegisterArray_NoClasses()
96 $path = __DIR__ . "/fixture/classes/SomePath/thatDoesNotExist";
98 $this->assertFalse(file_exists($path));
100 $this->loader->registerNamespacePath(array("\\DataNoPrefix" => $path));
102 $minidatafile = $this->findClassFile->invoke($this->loader, "DataNoPrefix\\MiniData");
103 $miniutilfle = $this->findClassFile->invoke($this->loader, "UtilNoPrefix\\MiniUtil");
105 $this->assertNull($minidatafile);
106 $this->assertNull($miniutilfle);
109 /* ***************************************************************** */
111 /* ***************************************************************** */
116 $this->loader->clearPaths();
119 public static function