/
githubmirror
/
framework
Обзор
Документация
Войти
/
githubmirror
/
framework
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
13.x
tests/Integration/Support/ManagerTest.php
108 строк
3 KB
StyleCI Bot
Apply fixes from StyleCI
13 апр 2026, 17:52
Не верифицирован
13 апр 2026, 17:52
a3960e8
Код
Авторство
О чём код?
<?php namespace Illuminate\Tests\Integration\Support; use Illuminate\Tests\Integration\Support\Fixtures\NullableManager; use InvalidArgumentException; use Orchestra\Testbench\TestCase; use stdClass; class ManagerTest extends TestCase { public function testDefaultDriverCannotBeNull() { $this->expectException(InvalidArgumentException::class); (new NullableManager($this->app))->driver(); } public function testCustomDriverClosureBoundObjectIsManager() { $manager = new NullableManager($this->app); $manager->extend(__CLASS__, fn () => $this); $this->assertSame($manager, $manager->driver(__CLASS__)); } public function testCustomDriverStaticClosure() { $manager = new NullableManager($this->app); $driver = new stdClass; $manager->extend(__CLASS__, static fn () => $driver); $this->assertSame($driver, $manager->driver(__CLASS__)); } public function testInvokableObjectDriverClosure() { $manager = new NullableManager($this->app); $driver = new stdClass; $creator = new CustomDriver($driver); $manager->extend(__CLASS__, $creator(...)); $this->assertSame($driver, $manager->driver(__CLASS__)); } } class CustomDriver { public function __construct(private object $object) { } public function __invoke() { return $this->object; } public function testEnumDriverCanBeResolved() { $manager = new NullableManager($this->app); $driver = new stdClass; $manager->extend('my_driver', static fn () => $driver); $this->assertSame($driver, $manager->driver(ManagerDriverName::MyDriver)); } public function testEnumDriverIsCached() { $manager = new NullableManager($this->app); $manager->extend('my_driver', static fn () => new stdClass); $driver1 = $manager->driver(ManagerDriverName::MyDriver); $driver2 = $manager->driver(ManagerDriverName::MyDriver); $this->assertSame($driver1, $driver2); } public function testEnumDriverMatchesStringDriver() { $manager = new NullableManager($this->app); $manager->extend('my_driver', static fn () => new stdClass); $fromEnum = $manager->driver(ManagerDriverName::MyDriver); $fromString = $manager->driver('my_driver'); $this->assertSame($fromEnum, $fromString); } public function testUnitEnumDriverCanBeResolved() { $manager = new NullableManager($this->app); $driver = new stdClass; $manager->extend('MyDriver', static fn () => $driver); $this->assertSame($driver, $manager->driver(ManagerUnitDriverName::MyDriver)); } } enum ManagerDriverName: string { case MyDriver = 'my_driver'; } enum ManagerUnitDriverName { case MyDriver; }