From: =?utf-8?q?David_Pr=C3=A9vot?= <taffit@debian.org>
Date: Sun, 2 Mar 2025 20:24:26 +0100
Subject: Modernize PHPUnit syntax

---
 tests/Factory/ResponseFactoryTest.php |  4 ++--
 tests/HeadersTest.php                 |  9 +++------
 tests/UploadedFileTest.php            | 38 +++++++++++------------------------
 3 files changed, 17 insertions(+), 34 deletions(-)

diff --git a/tests/Factory/ResponseFactoryTest.php b/tests/Factory/ResponseFactoryTest.php
index 7dc557a..c76c29f 100644
--- a/tests/Factory/ResponseFactoryTest.php
+++ b/tests/Factory/ResponseFactoryTest.php
@@ -11,6 +11,7 @@ declare(strict_types=1);
 namespace Slim\Tests\Psr7\Factory;
 
 use Interop\Http\Factory\ResponseFactoryTestCase;
+use PHPUnit\Framework\Attributes\DataProvider;
 use Psr\Http\Message\ResponseInterface;
 use Slim\Psr7\Factory\ResponseFactory;
 
@@ -29,10 +30,9 @@ class ResponseFactoryTest extends ResponseFactoryTestCase
     }
 
     /**
-     * @dataProvider dataCodes
-     *
      * @param int $code
      */
+    #[DataProvider('dataCodes')]
     public function testCreateResponseWithReasonPhrase(int $code)
     {
         $response = $this->factory->createResponse($code, 'Reason');
diff --git a/tests/HeadersTest.php b/tests/HeadersTest.php
index 599ec15..254a401 100644
--- a/tests/HeadersTest.php
+++ b/tests/HeadersTest.php
@@ -11,6 +11,7 @@ declare(strict_types=1);
 namespace Slim\Tests\Psr7;
 
 use InvalidArgumentException;
+use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\TestCase;
 use Slim\Psr7\Headers;
 use stdClass;
@@ -211,9 +212,7 @@ class HeadersTest extends TestCase
         $this->assertEquals(['digest'], $headers->getHeader('Authorization'));
     }
 
-    /**
-     * @dataProvider provideInvalidHeaderNames
-     */
+    #[DataProvider('provideInvalidHeaderNames')]
     public function testWithInvalidHeaderName($headerName): void
     {
         $headers = new Headers();
@@ -240,9 +239,7 @@ class HeadersTest extends TestCase
         ];
     }
 
-    /**
-     * @dataProvider provideInvalidHeaderValues
-     */
+    #[DataProvider('provideInvalidHeaderValues')]
     public function testSetInvalidHeaderValue($headerValue)
     {
         $headers = new Headers();
diff --git a/tests/UploadedFileTest.php b/tests/UploadedFileTest.php
index b4ba569..8970ee5 100644
--- a/tests/UploadedFileTest.php
+++ b/tests/UploadedFileTest.php
@@ -11,6 +11,8 @@ declare(strict_types=1);
 namespace Slim\Tests\Psr7;
 
 use InvalidArgumentException;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Depends;
 use PHPUnit\Framework\TestCase;
 use Prophecy\PhpUnit\ProphecyTrait;
 use Psr\Http\Message\StreamInterface;
@@ -95,9 +97,8 @@ class UploadedFileTest extends TestCase
     /**
      * @param array $input    The input array to parse.
      * @param array $expected The expected normalized output.
-     *
-     * @dataProvider providerCreateFromGlobals
      */
+    #[DataProvider('providerCreateFromGlobals')]
     public function testCreateFromGlobalsFromFilesSuperglobal(array $input, array $expected)
     {
         $_FILES = $input;
@@ -108,9 +109,8 @@ class UploadedFileTest extends TestCase
 
     /**
      * @param array $input The input array to parse.
-     *
-     * @dataProvider providerCreateFromGlobals
      */
+    #[DataProvider('providerCreateFromGlobals')]
     public function testCreateFromGlobalsFromUserData(array $input)
     {
         //If slim.files provided - it will return what was provided
@@ -185,12 +185,11 @@ class UploadedFileTest extends TestCase
     }
 
     /**
-     * @depends testConstructor
-     *
      * @param UploadedFile $uploadedFile
      *
      * @return UploadedFile
      */
+    #[Depends('testConstructor')]
     public function testGetStream(UploadedFile $uploadedFile): UploadedFile
     {
         $stream = $uploadedFile->getStream();
@@ -201,11 +200,9 @@ class UploadedFileTest extends TestCase
     }
 
     /**
-     * @depends testConstructor
-     *
      * @param UploadedFile $uploadedFile
-     *
      */
+    #[Depends('testConstructor')]
     public function testMoveToNotWritable(UploadedFile $uploadedFile)
     {
         $this->expectException(InvalidArgumentException::class);
@@ -216,12 +213,11 @@ class UploadedFileTest extends TestCase
     }
 
     /**
-     * @depends testConstructor
-     *
      * @param UploadedFile $uploadedFile
      *
      * @return UploadedFile
      */
+    #[Depends('testConstructor')]
     public function testMoveTo(UploadedFile $uploadedFile): UploadedFile
     {
         $tempName = uniqid('file-');
@@ -251,11 +247,9 @@ class UploadedFileTest extends TestCase
     }
 
     /**
-     * @depends testConstructorSapi
-     *
      * @param UploadedFile $uploadedFile
-     *
      */
+    #[Depends('testConstructorSapi')]
     public function testMoveToSapiNonUploadedFile(UploadedFile $uploadedFile)
     {
         $this->expectException(RuntimeException::class);
@@ -266,11 +260,9 @@ class UploadedFileTest extends TestCase
     }
 
     /**
-     * @depends testConstructorSapi
-     *
      * @param UploadedFile $uploadedFile
-     *
      */
+    #[Depends('testConstructorSapi')]
     public function testMoveToSapiMoveUploadedFileFails(UploadedFile $uploadedFile)
     {
         $this->markTestSkipped('Needs "adriansuter/php-autoload-override" to override a built-in PHP function');
@@ -285,11 +277,9 @@ class UploadedFileTest extends TestCase
     }
 
     /**
-     * @depends testMoveTo
-     *
      * @param UploadedFile $uploadedFile
-     *
      */
+    #[Depends('testMoveTo')]
     public function testMoveToCannotBeDoneTwice(UploadedFile $uploadedFile)
     {
         $this->expectException(RuntimeException::class);
@@ -306,11 +296,9 @@ class UploadedFileTest extends TestCase
     /**
      * This test must run after testMoveTo
      *
-     * @depends testConstructor
-     *
      * @param UploadedFile $uploadedFile
-     *
      */
+    #[Depends('testConstructor')]
     public function testMoveToAgain(UploadedFile $uploadedFile)
     {
         $this->expectException(RuntimeException::class);
@@ -323,11 +311,9 @@ class UploadedFileTest extends TestCase
     /**
      * This test must run after testMoveTo
      *
-     * @depends testConstructor
-     *
      * @param UploadedFile $uploadedFile
-     *
      */
+    #[Depends('testConstructor')]
     public function testMovedStream(UploadedFile $uploadedFile)
     {
         $this->expectException(RuntimeException::class);
