/** * Method to test addPsr4(). * * @return void * * @covers Windwalker\Loader\ClassLoader::addPsr4 */ public function testAddPsr4() { /** @var MockPsr4Loader $psr4 */ $psr4 = $this->instance->getPsr4Loader(); // Test 1 prefix $this->instance->addPsr4('Psr4', __DIR__ . '/fixtures'); $psr4->loadClass('Psr4\\Rose\\Love'); $this->assertFileEquals(__DIR__ . '/fixtures/Rose/Love.php', $psr4->getLastRequired()); $psr4 = $this->instance->unregister()->setPsr4Loader(new MockPsr4Loader())->register()->getPsr4Loader(); // Test 2 prefix $this->instance->addPsr4('Psr4\\Rose', __DIR__ . '/fixtures/Rose'); $psr4->loadClass('Psr4\\Rose\\Love'); $this->assertFileEquals(__DIR__ . '/fixtures/Rose/Love.php', $psr4->getLastRequired()); // Test as Psr0 prefix $this->instance->addPsr4('Psr0', __DIR__ . '/fixtures/Psr0'); $psr4->loadClass('Psr0\\Flower\\Sakura'); $this->assertFileEquals(__DIR__ . '/fixtures/Psr0/Flower/Sakura.php', $psr4->getLastRequired()); }