diff --git a/flight/autoload.php b/flight/autoload.php index fd17f6a..0c43ffa 100644 --- a/flight/autoload.php +++ b/flight/autoload.php @@ -2,6 +2,6 @@ declare(strict_types=1); -use flight\core\Loader; +// use flight\core\Loader; -Loader::autoload(true, [dirname(__DIR__)]); +// Loader::autoload(true, [dirname(__DIR__)]); diff --git a/tests/LoaderTest.php b/tests/LoaderTest.php index de37efa..efe6c6d 100644 --- a/tests/LoaderTest.php +++ b/tests/LoaderTest.php @@ -4,10 +4,12 @@ declare(strict_types=1); namespace tests; +use Closure; use flight\core\Loader; use tests\classes\Factory; use tests\classes\User; use PHPUnit\Framework\TestCase; +use ReflectionClass; use tests\classes\TesterClass; class LoaderTest extends TestCase @@ -17,7 +19,6 @@ class LoaderTest extends TestCase protected function setUp(): void { $this->loader = new Loader(); - $this->loader->autoload(true, __DIR__ . '/classes'); } // Autoload a class @@ -85,7 +86,7 @@ class LoaderTest extends TestCase // Gets an object from a factory method public function testRegisterUsingCallable(): void { - $this->loader->register('e', ['\tests\classes\Factory', 'create']); + $this->loader->register('e', Closure::fromCallable([Factory::class, 'create'])); $obj = $this->loader->load('e'); @@ -140,29 +141,25 @@ class LoaderTest extends TestCase public function testAddDirectoryAsArray(): void { - $loader = new class extends Loader { - public function getDirectories() - { - return self::$dirs; - } - }; - $loader->addDirectory([__DIR__ . '/classes']); - self::assertEquals([ - dirname(__DIR__), - __DIR__ . '/classes' - ], $loader->getDirectories()); + $loader = new Loader(); + $loader::addDirectory([__DIR__ . '/classes']); + + $dirsProperty = (new ReflectionClass(Loader::class))->getProperty('dirs'); + $dirsProperty->setAccessible(true); + $dirs = $dirsProperty->getValue($loader); + + self::assertEquals([__DIR__ . DIRECTORY_SEPARATOR . 'classes'], $dirs); } public function testV2ClassLoading(): void { - $loader = new class extends Loader { - public static function getV2ClassLoading() - { - return self::$v2ClassLoading; - } - }; - $this->assertTrue($loader::getV2ClassLoading()); + $loader = new Loader(); + + $v2ClassLoadingProperty = (new ReflectionClass(Loader::class))->getProperty('v2ClassLoading'); + $v2ClassLoadingProperty->setAccessible(true); + + $this->assertTrue($v2ClassLoadingProperty->getValue($loader)); $loader::setV2ClassLoading(false); - $this->assertFalse($loader::getV2ClassLoading()); + $this->assertFalse($v2ClassLoadingProperty->getValue($loader)); } }