diff --git a/tests/ContainerTest.php b/tests/ContainerTest.php index 389757c..fcff810 100644 --- a/tests/ContainerTest.php +++ b/tests/ContainerTest.php @@ -804,7 +804,7 @@ public function __invoke(): ResponseInterface } }; - $fn = null; + $fn = $data = null; $fn = #[PHP8] fn(mixed $data = 42) => new Response(200, [], (string) json_encode($data)); // @phpstan-ignore-line $container = new Container([ ResponseInterface::class => $fn, @@ -1269,17 +1269,9 @@ public function testCallableReturnsCallableThatThrowsWhenFactoryReferencesUnknow $request = new ServerRequest('GET', 'http://example.com/'); $controller = new class(new \stdClass()) { - /** @var \stdClass */ - private $data; - public function __construct(\stdClass $data) { - $this->data = $data; - } - - public function __invoke(ServerRequestInterface $request): Response - { - return new Response(200, [], (string) json_encode($this->data)); + assert($data instanceof \stdClass); } }; @@ -1301,17 +1293,9 @@ public function testCallableReturnsCallableThatThrowsWhenFactoryReferencesRecurs $request = new ServerRequest('GET', 'http://example.com/'); $controller = new class(new \stdClass()) { - /** @var \stdClass */ - private $data; - public function __construct(\stdClass $data) { - $this->data = $data; - } - - public function __invoke(ServerRequestInterface $request): Response - { - return new Response(200, [], (string) json_encode($this->data)); + assert($data instanceof \stdClass); } }; @@ -1333,17 +1317,9 @@ public function testCallableReturnsCallableThatThrowsWhenFactoryReferencesString $request = new ServerRequest('GET', 'http://example.com/'); $controller = new class('') { - /** @var string */ - private $data; - public function __construct(string $stdClass) { - $this->data = $stdClass; - } - - public function __invoke(ServerRequestInterface $request): Response - { - return new Response(200, [], (string) json_encode($this->data)); + assert(is_string($stdClass)); } }; @@ -1367,17 +1343,9 @@ public function testCallableReturnsCallableThatThrowsWhenFactoryReferencesVariab $request = new ServerRequest('GET', 'http://example.com/'); $controller = new class(new \stdClass()) { - /** @var \stdClass */ - private $data; - public function __construct(\stdClass $data) { - $this->data = $data; - } - - public function __invoke(ServerRequestInterface $request): Response - { - return new Response(200, [], (string) json_encode($this->data)); + assert($data instanceof \stdClass); } }; @@ -1402,17 +1370,9 @@ public function testCallableReturnsCallableThatThrowsWhenFactoryReferencesObject $request = new ServerRequest('GET', 'http://example.com/'); $controller = new class(new \stdClass()) { - /** @var \stdClass */ - private $data; - public function __construct(\stdClass $data) { - $this->data = $data; - } - - public function __invoke(ServerRequestInterface $request): Response - { - return new Response(200, [], (string) json_encode($this->data)); + assert($data instanceof \stdClass); } }; @@ -1435,17 +1395,9 @@ public function testCallableReturnsCallableThatThrowsWhenFactoryReferencesString $request = new ServerRequest('GET', 'http://example.com/'); $controller = new class(new \stdClass()) { - /** @var \stdClass */ - private $data; - public function __construct(\stdClass $data) { - $this->data = $data; - } - - public function __invoke(ServerRequestInterface $request): Response - { - return new Response(200, [], (string) json_encode($this->data)); + assert($data instanceof \stdClass); } }; @@ -1468,17 +1420,9 @@ public function testCallableReturnsCallableThatThrowsWhenFactoryReferencesIntVar $request = new ServerRequest('GET', 'http://example.com/'); $controller = new class(new \stdClass()) { - /** @var \stdClass */ - private $data; - public function __construct(\stdClass $data) { - $this->data = $data; - } - - public function __invoke(ServerRequestInterface $request): Response - { - return new Response(200, [], (string) json_encode($this->data)); + assert($data instanceof \stdClass); } }; @@ -1501,17 +1445,9 @@ public function testCallableReturnsCallableThatThrowsWhenFactoryReferencesFloatV $request = new ServerRequest('GET', 'http://example.com/'); $controller = new class(new \stdClass()) { - /** @var \stdClass */ - private $data; - public function __construct(\stdClass $data) { - $this->data = $data; - } - - public function __invoke(ServerRequestInterface $request): Response - { - return new Response(200, [], (string) json_encode($this->data)); + assert($data instanceof \stdClass); } }; @@ -1534,17 +1470,9 @@ public function testCallableReturnsCallableThatThrowsWhenFactoryReferencesBoolVa $request = new ServerRequest('GET', 'http://example.com/'); $controller = new class(new \stdClass()) { - /** @var \stdClass */ - private $data; - public function __construct(\stdClass $data) { - $this->data = $data; - } - - public function __invoke(ServerRequestInterface $request): Response - { - return new Response(200, [], (string) json_encode($this->data)); + assert($data instanceof \stdClass); } }; @@ -1567,17 +1495,9 @@ public function testCallableReturnsCallableThatThrowsWhenFactoryReferencesClassN $request = new ServerRequest('GET', 'http://example.com/'); $controller = new class(new \stdClass()) { - /** @var \stdClass */ - private $data; - public function __construct(\stdClass $data) { - $this->data = $data; - } - - public function __invoke(ServerRequestInterface $request): Response - { - return new Response(200, [], (string) json_encode($this->data)); + assert($data instanceof \stdClass); } }; @@ -1597,17 +1517,9 @@ public function testCallableReturnsCallableThatThrowsWhenFactoryReferencesNullab $request = new ServerRequest('GET', 'http://example.com/'); $controller = new class(new \stdClass()) { - /** @var ?\stdClass */ - private $data; - public function __construct(?\stdClass $data) { - $this->data = $data; - } - - public function __invoke(ServerRequestInterface $request): Response - { - return new Response(200, [], (string) json_encode($this->data)); + assert($data instanceof \stdClass); } }; @@ -1627,17 +1539,9 @@ public function testCallableReturnsCallableThatThrowsWhenFactoryReferencesClassN $request = new ServerRequest('GET', 'http://example.com/'); $controller = new class(new \stdClass()) { - /** @var \stdClass */ - private $data; - public function __construct(\stdClass $data) { - $this->data = $data; - } - - public function __invoke(ServerRequestInterface $request): Response - { - return new Response(200, [], (string) json_encode($this->data)); + assert($data instanceof \stdClass); } }; @@ -1657,17 +1561,9 @@ public function testCallableReturnsCallableThatThrowsWhenFactoryReferencesClassN $request = new ServerRequest('GET', 'http://example.com/'); $controller = new class(new \stdClass()) { - /** @var \stdClass */ - private $data; - public function __construct(\stdClass $data) { - $this->data = $data; - } - - public function __invoke(ServerRequestInterface $request): Response - { - return new Response(200, [], (string) json_encode($this->data)); + assert($data instanceof \stdClass); } }; @@ -1687,17 +1583,9 @@ public function testCallableReturnsCallableThatThrowsWhenFactoryReferencesNullab $request = new ServerRequest('GET', 'http://example.com/'); $controller = new class(new \stdClass()) { - /** @var ?\stdClass */ - private $data; - public function __construct(?\stdClass $data) { - $this->data = $data; - } - - public function __invoke(ServerRequestInterface $request): Response - { - return new Response(200, [], (string) json_encode($this->data)); + assert($data instanceof \stdClass); } }; @@ -1717,17 +1605,9 @@ public function testCallableReturnsCallableThatThrowsWhenFactoryReferencesClassM $request = new ServerRequest('GET', 'http://example.com/'); $controller = new class(new \stdClass()) { - /** @var \stdClass */ - private $data; - public function __construct(\stdClass $data) { - $this->data = $data; - } - - public function __invoke(ServerRequestInterface $request): Response - { - return new Response(200, [], (string) json_encode($this->data)); + assert($data instanceof \stdClass); } }; @@ -1747,17 +1627,9 @@ public function testCallableReturnsCallableThatThrowsWhenConstructorWithoutFacto $request = new ServerRequest('GET', 'http://example.com/'); $controller = new class('Alice') { - /** @var string */ - private $data; - public function __construct(string $name) { - $this->data = $name; - } - - public function __invoke(ServerRequestInterface $request): Response - { - return new Response(200, [], (string) json_encode($this->data)); + assert(is_string($name)); } }; diff --git a/tests/Fixtures/InvalidConstructorIntersection.php b/tests/Fixtures/InvalidConstructorIntersection.php index 7431cbd..dd2bbc7 100644 --- a/tests/Fixtures/InvalidConstructorIntersection.php +++ b/tests/Fixtures/InvalidConstructorIntersection.php @@ -2,6 +2,8 @@ namespace FrameworkX\Tests\Fixtures; +use FrameworkX\Tests\PHP8; + /** PHP 8.1+ **/ class InvalidConstructorIntersection { diff --git a/tests/Fixtures/InvalidConstructorUnion.php b/tests/Fixtures/InvalidConstructorUnion.php index 49d0c08..3d8ec64 100644 --- a/tests/Fixtures/InvalidConstructorUnion.php +++ b/tests/Fixtures/InvalidConstructorUnion.php @@ -2,6 +2,8 @@ namespace FrameworkX\Tests\Fixtures; +use FrameworkX\Tests\PHP8; + /** PHP 8.0+ **/ class InvalidConstructorUnion { diff --git a/tests/PHP8.php b/tests/PHP8.php new file mode 100644 index 0000000..5ee4788 --- /dev/null +++ b/tests/PHP8.php @@ -0,0 +1,13 @@ += 80000); + } +}