diff --git a/.phpstan.neon b/.phpstan.neon index e4fa0be..497960f 100644 --- a/.phpstan.neon +++ b/.phpstan.neon @@ -14,33 +14,53 @@ parameters: scanDirectories: - vendor + treatPhpDocTypesAsCertain: false + ignoreErrors: - - message: "#^Property Art4\\\\JsonApiClient\\\\V1\\\\ResourceNull\\:\\:\\$data is never read, only written\\.$#" + message: "#^Constructor of class Art4\\\\JsonApiClient\\\\V1\\\\ResourceNull has an unused parameter \\$data\\.$#" count: 1 path: src/V1/ResourceNull.php + # parameter is required by Art4\JsonApiClient\Element - - message: "#^Property Art4\\\\JsonApiClient\\\\V1\\\\ResourceNull\\:\\:\\$manager is never read, only written\\.$#" + message: "#^Constructor of class Art4\\\\JsonApiClient\\\\V1\\\\ResourceNull has an unused parameter \\$manager\\.$#" count: 1 path: src/V1/ResourceNull.php + # parameter is required by Art4\JsonApiClient\Element - - message: "#^Property Art4\\\\JsonApiClient\\\\V1\\\\ResourceNull\\:\\:\\$parent is never read, only written\\.$#" + message: "#^Constructor of class Art4\\\\JsonApiClient\\\\V1\\\\ResourceNull has an unused parameter \\$parent\\.$#" count: 1 path: src/V1/ResourceNull.php + # parameter is required by Art4\JsonApiClient\Element - message: "#^Constructor of an anonymous class has an unused parameter \\$data\\.$#" count: 1 path: tests/BC/ElementTest.php + # parameter is required by Art4\JsonApiClient\Element - message: "#^Constructor of an anonymous class has an unused parameter \\$manager\\.$#" count: 1 path: tests/BC/ElementTest.php + # parameter is required by Art4\JsonApiClient\Element - message: "#^Constructor of an anonymous class has an unused parameter \\$parent\\.$#" count: 1 path: tests/BC/ElementTest.php + # parameter is required by Art4\JsonApiClient\Element + + - + message: "#^Parameter \\#1 \\$key of method Art4\\\\JsonApiClient\\\\V1\\\\ResourceNull\\:\\:has\\(\\) expects Art4\\\\JsonApiClient\\\\Helper\\\\AccessKey\\|int\\|string, array given\\.$#" + count: 1 + path: tests/Unit/V1/ResourceNullTest.php + # We are providing an invalid parameter to test the deprecation message + + - + message: "#^Parameter \\#1 \\$key of method Art4\\\\JsonApiClient\\\\V1\\\\ResourceNull\\:\\:has\\(\\) expects Art4\\\\JsonApiClient\\\\Helper\\\\AccessKey\\|int\\|string, stdClass given\\.$#" + count: 1 + path: tests/Unit/V1/ResourceNullTest.php + # We are providing an invalid parameter to test the deprecation message diff --git a/src/V1/ResourceNull.php b/src/V1/ResourceNull.php index 3065002..f4bd600 100644 --- a/src/V1/ResourceNull.php +++ b/src/V1/ResourceNull.php @@ -19,11 +19,6 @@ */ final class ResourceNull implements Accessable, Element { - /** @var mixed */ - private $data; - private Manager $manager; - private Accessable $parent; - /** * Constructor * @@ -33,9 +28,6 @@ final class ResourceNull implements Accessable, Element */ public function __construct($data, Manager $manager, Accessable $parent) { - $this->data = $data; - $this->manager = $manager; - $this->parent = $parent; } /** diff --git a/tests/Unit/Helper/AccessableTraitTest.php b/tests/Unit/Helper/AccessableTraitTest.php index af512b3..cda7d40 100644 --- a/tests/Unit/Helper/AccessableTraitTest.php +++ b/tests/Unit/Helper/AccessableTraitTest.php @@ -9,12 +9,14 @@ namespace Art4\JsonApiClient\Tests\Unit\Helper; use Art4\JsonApiClient\Helper\AccessableTrait; +use Art4\JsonApiClient\Accessable; use PHPUnit\Framework\TestCase; class AccessableTraitTest extends TestCase { public function testHasWithObjectAsKeyTriggersException(): void { + /** @var Accessable */ $resource = $this->getMockForTrait(AccessableTrait::class); // PHPUnit 10 compatible way to test trigger_error(). @@ -36,6 +38,7 @@ function ($errno, $errstr): bool { public function testHasWithArrayAsKeyTriggersException(): void { + /** @var Accessable */ $resource = $this->getMockForTrait(AccessableTrait::class); // PHPUnit 10 compatible way to test trigger_error().