From: William Desportes <williamdes@wdes.fr>
Date: Sat, 30 Aug 2025 21:20:46 +0200
Subject: Use PHPUnit PHP annotations

Origin: vendor
Forwarded: no
---
 tests/HeadersTest.php      |  5 +++++
 tests/MessageTest.php      |  2 ++
 tests/UploadedFileTest.php | 14 +++++++++++++-
 3 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/tests/HeadersTest.php b/tests/HeadersTest.php
index 599ec15..83cf389 100644
--- a/tests/HeadersTest.php
+++ b/tests/HeadersTest.php
@@ -12,6 +12,8 @@ namespace Slim\Tests\Psr7;
 
 use InvalidArgumentException;
 use PHPUnit\Framework\TestCase;
+use PHPUnit\Framework\Attributes\DoesNotPerformAssertions;
+use PHPUnit\Framework\Attributes\DataProvider;
 use Slim\Psr7\Headers;
 use stdClass;
 
@@ -81,6 +83,7 @@ class HeadersTest extends TestCase
     /**
      * @doesNotPerformAssertions
      */
+    #[DoesNotPerformAssertions]
     public function testRemoveHeaderByIncompatibleStringWithRFC()
     {
         $headers = new Headers();
@@ -214,6 +217,7 @@ class HeadersTest extends TestCase
     /**
      * @dataProvider provideInvalidHeaderNames
      */
+    #[DataProvider('provideInvalidHeaderNames')]
     public function testWithInvalidHeaderName($headerName): void
     {
         $headers = new Headers();
@@ -243,6 +247,7 @@ class HeadersTest extends TestCase
     /**
      * @dataProvider provideInvalidHeaderValues
      */
+    #[DataProvider('provideInvalidHeaderValues')]
     public function testSetInvalidHeaderValue($headerValue)
     {
         $headers = new Headers();
diff --git a/tests/MessageTest.php b/tests/MessageTest.php
index eced34f..d37526a 100644
--- a/tests/MessageTest.php
+++ b/tests/MessageTest.php
@@ -13,6 +13,7 @@ namespace Slim\Tests\Psr7;
 use InvalidArgumentException;
 use PHPUnit\Framework\MockObject\MockObject;
 use PHPUnit\Framework\TestCase;
+use PHPUnit\Framework\Attributes\DoesNotPerformAssertions;
 use Slim\Psr7\Headers;
 use Slim\Psr7\Stream;
 use Slim\Tests\Psr7\Mocks\MessageStub;
@@ -144,6 +145,7 @@ class MessageTest extends TestCase
     /**
      * @doesNotPerformAssertions
      */
+    #[DoesNotPerformAssertions]
     public function testWithoutHeaderByIncompatibleStringWithRFC()
     {
         $headers = new Headers();
diff --git a/tests/UploadedFileTest.php b/tests/UploadedFileTest.php
index b4ba569..b9de9dc 100644
--- a/tests/UploadedFileTest.php
+++ b/tests/UploadedFileTest.php
@@ -12,6 +12,8 @@ namespace Slim\Tests\Psr7;
 
 use InvalidArgumentException;
 use PHPUnit\Framework\TestCase;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Depends;
 use Prophecy\PhpUnit\ProphecyTrait;
 use Psr\Http\Message\StreamInterface;
 use Psr\Http\Message\UploadedFileInterface;
@@ -98,6 +100,7 @@ class UploadedFileTest extends TestCase
      *
      * @dataProvider providerCreateFromGlobals
      */
+    #[DataProvider('providerCreateFromGlobals')]
     public function testCreateFromGlobalsFromFilesSuperglobal(array $input, array $expected)
     {
         $_FILES = $input;
@@ -111,7 +114,8 @@ class UploadedFileTest extends TestCase
      *
      * @dataProvider providerCreateFromGlobals
      */
-    public function testCreateFromGlobalsFromUserData(array $input)
+    #[DataProvider('providerCreateFromGlobals')]
+    public function testCreateFromGlobalsFromUserData(array $input, array $unused)
     {
         //If slim.files provided - it will return what was provided
         $userData['slim.files'] = $input;
@@ -191,6 +195,7 @@ class UploadedFileTest extends TestCase
      *
      * @return UploadedFile
      */
+    #[Depends('testConstructor')]
     public function testGetStream(UploadedFile $uploadedFile): UploadedFile
     {
         $stream = $uploadedFile->getStream();
@@ -206,6 +211,7 @@ class UploadedFileTest extends TestCase
      * @param UploadedFile $uploadedFile
      *
      */
+    #[Depends('testConstructor')]
     public function testMoveToNotWritable(UploadedFile $uploadedFile)
     {
         $this->expectException(InvalidArgumentException::class);
@@ -222,6 +228,7 @@ class UploadedFileTest extends TestCase
      *
      * @return UploadedFile
      */
+    #[Depends('testConstructor')]
     public function testMoveTo(UploadedFile $uploadedFile): UploadedFile
     {
         $tempName = uniqid('file-');
@@ -256,6 +263,7 @@ class UploadedFileTest extends TestCase
      * @param UploadedFile $uploadedFile
      *
      */
+    #[Depends('testConstructorSapi')]
     public function testMoveToSapiNonUploadedFile(UploadedFile $uploadedFile)
     {
         $this->expectException(RuntimeException::class);
@@ -271,6 +279,7 @@ class UploadedFileTest extends TestCase
      * @param UploadedFile $uploadedFile
      *
      */
+    #[Depends('testConstructorSapi')]
     public function testMoveToSapiMoveUploadedFileFails(UploadedFile $uploadedFile)
     {
         $this->markTestSkipped('Needs "adriansuter/php-autoload-override" to override a built-in PHP function');
@@ -290,6 +299,7 @@ class UploadedFileTest extends TestCase
      * @param UploadedFile $uploadedFile
      *
      */
+    #[Depends('testMoveTo')]
     public function testMoveToCannotBeDoneTwice(UploadedFile $uploadedFile)
     {
         $this->expectException(RuntimeException::class);
@@ -311,6 +321,7 @@ class UploadedFileTest extends TestCase
      * @param UploadedFile $uploadedFile
      *
      */
+    #[Depends('testConstructor')]
     public function testMoveToAgain(UploadedFile $uploadedFile)
     {
         $this->expectException(RuntimeException::class);
@@ -328,6 +339,7 @@ class UploadedFileTest extends TestCase
      * @param UploadedFile $uploadedFile
      *
      */
+    #[Depends('testConstructor')]
     public function testMovedStream(UploadedFile $uploadedFile)
     {
         $this->expectException(RuntimeException::class);
