You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
flight-core/tests/AutoloadTest.php

48 lines
963 B

<?php
declare(strict_types=1);
namespace tests;
use flight\Engine;
use tests\classes\User;
use PHPUnit\Framework\TestCase;
class AutoloadTest extends TestCase
{
private Engine $app;
protected function setUp(): void
{
$this->app = new Engine();
$this->app->path(__DIR__ . '/classes');
}
// Autoload a class
public function testAutoload()
{
$this->app->register('user', User::class);
$loaders = spl_autoload_functions();
$user = $this->app->user();
self::assertTrue(count($loaders) > 0);
self::assertIsObject($user);
self::assertInstanceOf(User::class, $user);
}
// Check autoload failure
public function testMissingClass()
{
$test = null;
$this->app->register('test', 'NonExistentClass');
if (class_exists('NonExistentClass')) {
$test = $this->app->test();
}
self::assertNull($test);
}
}