Example #1
0
 /**
  * Method to test addPsr0().
  *
  * @return void
  *
  * @covers Windwalker\Loader\ClassLoader::addPsr0
  */
 public function testAddPsr0()
 {
     /** @var MockPsr0Loader $psr0 */
     $psr0 = $this->instance->getPsr0Loader();
     // Test 1 prefix
     $this->instance->addPsr0('Psr0', __DIR__ . '/fixtures');
     $psr0->loadClass('Psr0\\Flower\\Sakura');
     $this->assertFileEquals(__DIR__ . '/fixtures/Psr0/Flower/Sakura.php', $psr0->getLastRequired());
     $psr0->loadClass('Psr0_Olive_Peace');
     $this->assertFileEquals(__DIR__ . '/fixtures/Psr0/Olive/Peace.php', $psr0->getLastRequired());
     $psr0 = $this->instance->unregister()->setPsr0Loader(new MockPsr0Loader())->register()->getPsr0Loader();
     // Test 2 prefix
     $this->instance->addPsr0('Psr0\\Flower', __DIR__ . '/fixtures');
     $psr0->loadClass('Psr0\\Flower\\Sakura');
     $this->assertFileEquals(__DIR__ . '/fixtures/Psr0/Flower/Sakura.php', $psr0->getLastRequired());
     $psr0->loadClass('Psr0_Olive_Peace');
     $this->assertNull($psr0->getLastRequired());
     $psr0 = $this->instance->unregister()->setPsr0Loader(new MockPsr0Loader())->register()->getPsr0Loader();
     // Test 0 prefix
     $this->instance->addPsr0('', __DIR__ . '/fixtures');
     $psr0->loadClass('Psr0\\Flower\\Sakura');
     $this->assertFileEquals(__DIR__ . '/fixtures/Psr0/Flower/Sakura.php', $psr0->getLastRequired());
     $psr0->loadClass('Psr0_Olive_Peace');
     $this->assertFileEquals(__DIR__ . '/fixtures/Psr0/Olive/Peace.php', $psr0->getLastRequired());
 }