From: =?utf-8?q?David_Pr=C3=A9vot?= <david@tilapin.org>
Date: Wed, 26 Feb 2025 08:53:48 +0100
Subject: Modernize PHPUnit syntax

---
 tests/integration/ToIdnTest.php     | 30 ++++++++++--------------------
 tests/integration/ToUnicodeTest.php | 19 ++++++++-----------
 tests/unit/NamePrepTest.php         | 12 +++++-------
 3 files changed, 23 insertions(+), 38 deletions(-)

diff --git a/tests/integration/ToIdnTest.php b/tests/integration/ToIdnTest.php
index 6f9eab6..19db9cc 100644
--- a/tests/integration/ToIdnTest.php
+++ b/tests/integration/ToIdnTest.php
@@ -6,20 +6,19 @@ use Algo26\IdnaConvert\Exception\InvalidCharacterException;
 use Algo26\IdnaConvert\Exception\InvalidIdnVersionException;
 use Algo26\IdnaConvert\Exception\Std3AsciiRulesViolationException;
 use Algo26\IdnaConvert\ToIdn;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\TestCase;
 
-/**
- * @covers \Algo26\IdnaConvert\ToIdn
- */
+#[CoversClass('\Algo26\IdnaConvert\ToIdn')]
 class ToIdnTest extends TestCase
 {
     /**
-     * @dataProvider providerUtf8
-     *
      * @throws AlreadyPunycodeException
      * @throws InvalidCharacterException
      * @throws InvalidIdnVersionException
      */
+    #[DataProvider('providerUtf8')]
     public function testEncodeUtf8($decoded, $expectEncoded): void
     {
         $idnaConvert = new ToIdn();
@@ -37,12 +36,11 @@ class ToIdnTest extends TestCase
     }
 
     /**
-     * @dataProvider providerUtf8Idna2003
-     *
      * @throws AlreadyPunycodeException
      * @throws InvalidCharacterException
      * @throws InvalidIdnVersionException
      */
+    #[DataProvider('providerUtf8Idna2003')]
     public function testEncodeUtf8Idna2003($decoded, $expectEncoded): void
     {
         $idnaConvert = new ToIdn(2003);
@@ -60,10 +58,9 @@ class ToIdnTest extends TestCase
     }
 
     /**
-     * @dataProvider providerEmailAddress
-     *
      * @throws InvalidIdnVersionException
      */
+    #[DataProvider('providerEmailAddress')]
     public function testEncodeEmailAddress($decoded, $expectEncoded): void
     {
         $idnaConvert = new ToIdn(2008);
@@ -81,10 +78,9 @@ class ToIdnTest extends TestCase
     }
 
     /**
-     * @dataProvider providerUrl
-     *
      * @throws InvalidIdnVersionException
      */
+    #[DataProvider('providerUrl')]
     public function testEncodeUrl($decoded, $expectEncoded): void
     {
         $idnaConvert = new ToIdn(2008);
@@ -101,9 +97,7 @@ class ToIdnTest extends TestCase
         );
     }
 
-    /**
-     * @dataProvider providerAlreadyPunycode
-     */
+    #[DataProvider('providerAlreadyPunycode')]
     public function testThrowsAlreadyPunycodeException($decoded, $idnVersion): void
     {
         self::expectException(AlreadyPunycodeException::class);
@@ -112,9 +106,7 @@ class ToIdnTest extends TestCase
         $idnaConvert->convert($decoded);
     }
 
-    /**
-     * @dataProvider providerInvalidCharacter
-     */
+    #[DataProvider('providerInvalidCharacter')]
     public function testThrowsInvalidCharacterException($sequence): void
     {
         self::expectException(InvalidCharacterException::class);
@@ -123,9 +115,7 @@ class ToIdnTest extends TestCase
         $idnaConvert->convert($sequence);
     }
 
-    /**
-     * @dataProvider providerStd3AsciiRulesViolation
-     */
+    #[DataProvider('providerStd3AsciiRulesViolation')]
     public function testThrowsStd3AsciiRulesException($sequence): void
     {
         self::expectException(Std3AsciiRulesViolationException::class);
diff --git a/tests/integration/ToUnicodeTest.php b/tests/integration/ToUnicodeTest.php
index 184d2a2..17cb652 100644
--- a/tests/integration/ToUnicodeTest.php
+++ b/tests/integration/ToUnicodeTest.php
@@ -4,17 +4,17 @@ namespace Algo26\IdnaConvert\Test\integration;
 use Algo26\IdnaConvert\Exception\InvalidCharacterException;
 use Algo26\IdnaConvert\Exception\InvalidIdnVersionException;
 use Algo26\IdnaConvert\ToUnicode;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\TestCase;
 
-/**
- * @covers \Algo26\IdnaConvert\ToUnicode
- */
+#[CoversClass('\Algo26\IdnaConvert\ToUnicode')]
 class ToUnicodeTest extends TestCase
 {
     /**
-     * @dataProvider providerUtf8
      * @throws InvalidIdnVersionException
      */
+    #[DataProvider('providerUtf8')]
     public function testDecodeUtf8($encoded, $expectDecoded)
     {
         $idnaConvert = new ToUnicode();
@@ -30,9 +30,8 @@ class ToUnicodeTest extends TestCase
             )
         );
     }
-    /**
-     * @dataProvider providerException
-     */
+
+    #[DataProvider('providerException')]
     public function testDecodeUtf8Exception($encoded)
     {
         self::expectException(InvalidCharacterException::class);
@@ -42,10 +41,9 @@ class ToUnicodeTest extends TestCase
     }
 
     /**
-     * @dataProvider providerEmailAddress
-     *
      * @throws InvalidIdnVersionException
      */
+    #[DataProvider('providerEmailAddress')]
     public function testDecodeEmailAddress($encoded, $expectDecoded)
     {
         $idnaConvert = new ToUnicode();
@@ -63,10 +61,9 @@ class ToUnicodeTest extends TestCase
     }
 
     /**
-     * @dataProvider providerUrl
-     *
      * @throws InvalidIdnVersionException
      */
+    #[DataProvider('providerUrl')]
     public function testDecodeUrl($encoded, $expectDecoded)
     {
         $idnaConvert = new ToUnicode();
diff --git a/tests/unit/NamePrepTest.php b/tests/unit/NamePrepTest.php
index 4b22747..79918e0 100644
--- a/tests/unit/NamePrepTest.php
+++ b/tests/unit/NamePrepTest.php
@@ -6,11 +6,11 @@ use Algo26\IdnaConvert\Exception\InvalidCharacterException;
 use Algo26\IdnaConvert\Exception\InvalidIdnVersionException;
 use Algo26\IdnaConvert\NamePrep\NamePrep;
 use Algo26\IdnaConvert\TranscodeUnicode\TranscodeUnicode;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\TestCase;
 
-/**
- * @covers \Algo26\IdnaConvert\NamePrep\NamePrep
- */
+#[CoversClass('\Algo26\IdnaConvert\NamePrep\NamePrep')]
 class NamePrepTest extends TestCase
 {
     /** @var TranscodeUnicode */
@@ -34,9 +34,8 @@ class NamePrepTest extends TestCase
     /**
      * @param array|string $from provided original string
      * @param array|string $expectedTo expected result
-     *
-     * @dataProvider providerMapping2003
      */
+    #[DataProvider('providerMapping2003')]
     public function testSuccess2003($from, $expectedTo)
     {
         if (!is_array($from)) {
@@ -61,9 +60,8 @@ class NamePrepTest extends TestCase
 
     /**
      * @param array|string $sequence as UTF-8 string or UCS-4 array
-     *
-     * @dataProvider providerProhibited
      */
+    #[DataProvider('providerProhibited')]
     public function testProhibited($sequence)
     {
         if (!is_array($sequence)) {
