--- ../tests/UriNormalizerTest.php	2026-07-13 21:50:29.861584017 +0300
+++ ../tests/UriNormalizerTest.php	2026-07-13 21:51:45.758293263 +0300
@@ -7,6 +7,7 @@
 use GuzzleHttp\Psr7\Uri;
 use GuzzleHttp\Psr7\UriNormalizer;
 use PHPUnit\Framework\TestCase;
+use PHPUnit\Framework\Attributes\DataProvider;
 use Psr\Http\Message\UriInterface;
 
 /**
@@ -31,9 +32,7 @@
         self::assertSame("/$expectEncoding?$expectEncoding#$expectEncoding", (string) $normalizedUri);
     }
 
-    /**
-     * @dataProvider getUnreservedCharacters
-     */
+    #[DataProvider('getUnreservedCharacters')]
     public function testDecodeUnreservedCharacters(string $char): void
     {
         $percentEncoded = '%'.bin2hex($char);
@@ -62,9 +61,7 @@
         }, $unreservedChars);
     }
 
-    /**
-     * @dataProvider getEmptyPathTestCases
-     */
+    #[DataProvider('getEmptyPathTestCases')]
     public function testConvertEmptyPath($uri, $expected): void
     {
         $normalizedUri = UriNormalizer::normalize(new Uri($uri), UriNormalizer::CONVERT_EMPTY_PATH);
@@ -176,9 +173,7 @@
         self::assertSame('?a&a=a&a=b&a=c&a=d&b=a&b=b&b=c', (string) $normalizedUri);
     }
 
-    /**
-     * @dataProvider getEquivalentTestCases
-     */
+    #[DataProvider('getEquivalentTestCases')]
     public function testIsEquivalent(string $uri1, string $uri2, bool $expected): void
     {
         $equivalent = UriNormalizer::isEquivalent(new Uri($uri1), new Uri($uri2));
