Upgrade to PHPUnit 12

Dropping dataProvider annotations is not possible unless we drop support PHP
7.2.
This commit is contained in:
Gregoire PARIS
2025-07-25 09:00:07 +02:00
committed by Grégoire Paris
parent ff55a9e416
commit 1449740443
12 changed files with 45 additions and 32 deletions

View File

@@ -46,7 +46,7 @@
"phpstan/phpstan": "^1.12 || ^2.0",
"phpstan/phpstan-phpunit": "^1.4 || ^2.0",
"phpstan/phpstan-strict-rules": "^1.6 || ^2.0",
"phpunit/phpunit": "^8.5 || ^9.5"
"phpunit/phpunit": "^8.5 || ^12.2"
},
"autoload": {
"psr-4": {

View File

@@ -4,7 +4,6 @@
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
colors="true"
beStrictAboutOutputDuringTests="true"
beStrictAboutTodoAnnotatedTests="true"
failOnRisky="true"
failOnWarning="true"
>
@@ -14,11 +13,11 @@
</testsuite>
</testsuites>
<filter>
<whitelist>
<source>
<include>
<directory>src</directory>
</whitelist>
</filter>
</include>
</source>
<groups>
<exclude>

View File

@@ -15,6 +15,7 @@ use Doctrine\Inflector\Rules\Spanish\InflectorFactory as SpanishInflectorFactory
use Doctrine\Inflector\Rules\Turkish\InflectorFactory as TurkishInflectorFactory;
use Generator;
use InvalidArgumentException;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
class InflectorFactoryTest extends TestCase
@@ -29,6 +30,7 @@ class InflectorFactoryTest extends TestCase
*
* @dataProvider provideLanguages
*/
#[DataProvider('provideLanguages')]
public function testCreateForLanguageWithCustomLanguage(string $expectedClass, string $language): void
{
self::assertInstanceOf($expectedClass, InflectorFactory::createForLanguage($language));

View File

@@ -6,6 +6,7 @@ namespace Doctrine\Tests\Inflector;
use Doctrine\Inflector\Inflector;
use Doctrine\Inflector\InflectorFactory;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
class InflectorFunctionalTest extends TestCase
@@ -27,6 +28,7 @@ class InflectorFunctionalTest extends TestCase
}
/** @dataProvider dataStringsTableize */
#[DataProvider('dataStringsTableize')]
public function testTableize(string $expected, string $word): void
{
self::assertSame($expected, $this->createInflector()->tableize($word));
@@ -37,7 +39,7 @@ class InflectorFunctionalTest extends TestCase
*
* @return string[][]
*/
public function dataStringsTableize(): array
public static function dataStringsTableize(): array
{
// In the format array('expected', 'word')
return [
@@ -48,6 +50,7 @@ class InflectorFunctionalTest extends TestCase
}
/** @dataProvider dataStringsClassify */
#[DataProvider('dataStringsClassify')]
public function testClassify(string $expected, string $word): void
{
self::assertSame($expected, $this->createInflector()->classify($word));
@@ -58,7 +61,7 @@ class InflectorFunctionalTest extends TestCase
*
* @return string[][]
*/
public function dataStringsClassify(): array
public static function dataStringsClassify(): array
{
// In the format array('expected', 'word')
return [
@@ -72,6 +75,7 @@ class InflectorFunctionalTest extends TestCase
}
/** @dataProvider dataStringsCamelize */
#[DataProvider('dataStringsCamelize')]
public function testCamelize(string $expected, string $word): void
{
self::assertSame($expected, $this->createInflector()->camelize($word));
@@ -82,7 +86,7 @@ class InflectorFunctionalTest extends TestCase
*
* @return string[][]
*/
public function dataStringsCamelize(): array
public static function dataStringsCamelize(): array
{
// In the format array('expected', 'word')
return [

View File

@@ -6,6 +6,7 @@ namespace Doctrine\Tests\Inflector;
use Doctrine\Inflector\Inflector;
use Doctrine\Inflector\WordInflector;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;
@@ -63,6 +64,7 @@ class InflectorTest extends TestCase
}
/** @dataProvider dataStringsUrlize */
#[DataProvider('dataStringsUrlize')]
public function testUrlize(string $expected, string $string): void
{
self::assertSame(
@@ -76,7 +78,7 @@ class InflectorTest extends TestCase
*
* @return string[][]
*/
public function dataStringsUrlize(): array
public static function dataStringsUrlize(): array
{
return [
[

View File

@@ -7,14 +7,15 @@ namespace Doctrine\Tests\Inflector\Rules\English;
use Doctrine\Inflector\Inflector;
use Doctrine\Inflector\InflectorFactory;
use Doctrine\Inflector\Language;
use Doctrine\Tests\Inflector\Rules\LanguageFunctionalTest;
use Doctrine\Tests\Inflector\Rules\LanguageFunctionalTestCase;
use PHPUnit\Framework\Attributes\DataProvider;
use function sprintf;
class EnglishFunctionalTest extends LanguageFunctionalTest
class EnglishFunctionalTest extends LanguageFunctionalTestCase
{
/** @return string[][] */
public function dataSampleWords(): array
public static function dataSampleWords(): array
{
return [
['', ''],
@@ -382,7 +383,7 @@ class EnglishFunctionalTest extends LanguageFunctionalTest
*
* @return string[][]
*/
public function dataSingularsUninflectedWhenSingularized(): array
public static function dataSingularsUninflectedWhenSingularized(): array
{
// In the format array('singular', 'notEquals')
return [
@@ -407,6 +408,7 @@ class EnglishFunctionalTest extends LanguageFunctionalTest
}
/** @dataProvider dataSingularsUninflectedWhenSingularized */
#[DataProvider('dataSingularsUninflectedWhenSingularized')]
public function testSingularsWhenSingularizedShouldBeUninflected(string $singular, string $notEquals): void
{
self::assertNotSame(
@@ -423,7 +425,7 @@ class EnglishFunctionalTest extends LanguageFunctionalTest
*
* @return string[][]
*/
public function dataPluralUninflectedWhenPluralized(): array
public static function dataPluralUninflectedWhenPluralized(): array
{
return [
['media'],
@@ -431,6 +433,7 @@ class EnglishFunctionalTest extends LanguageFunctionalTest
}
/** @dataProvider dataPluralUninflectedWhenPluralized */
#[DataProvider('dataPluralUninflectedWhenPluralized')]
public function testPluralsWhenPluralizedShouldBeUninflected(string $plural): void
{
$pluralized = $this->createInflector()->pluralize($plural);

View File

@@ -7,12 +7,12 @@ namespace Doctrine\Tests\Inflector\Rules\French;
use Doctrine\Inflector\Inflector;
use Doctrine\Inflector\InflectorFactory;
use Doctrine\Inflector\Language;
use Doctrine\Tests\Inflector\Rules\LanguageFunctionalTest;
use Doctrine\Tests\Inflector\Rules\LanguageFunctionalTestCase;
class FrenchFunctionalTest extends LanguageFunctionalTest
class FrenchFunctionalTest extends LanguageFunctionalTestCase
{
/** @return string[][] */
public function dataSampleWords(): array
public static function dataSampleWords(): array
{
return [
['ami', 'amis'],

View File

@@ -5,16 +5,18 @@ declare(strict_types=1);
namespace Doctrine\Tests\Inflector\Rules;
use Doctrine\Inflector\Inflector;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
use function sprintf;
abstract class LanguageFunctionalTest extends TestCase
abstract class LanguageFunctionalTestCase extends TestCase
{
/** @return string[][] */
abstract public function dataSampleWords(): array;
abstract public static function dataSampleWords(): array;
/** @dataProvider dataSampleWords */
#[DataProvider('dataSampleWords')]
public function testInflectingSingulars(string $singular, string $plural): void
{
self::assertSame(
@@ -25,6 +27,7 @@ abstract class LanguageFunctionalTest extends TestCase
}
/** @dataProvider dataSampleWords */
#[DataProvider('dataSampleWords')]
public function testInflectingPlurals(string $singular, string $plural): void
{
self::assertSame(

View File

@@ -7,12 +7,12 @@ namespace Doctrine\Tests\Inflector\Rules\NorwegianBokmal;
use Doctrine\Inflector\Inflector;
use Doctrine\Inflector\InflectorFactory;
use Doctrine\Inflector\Language;
use Doctrine\Tests\Inflector\Rules\LanguageFunctionalTest;
use Doctrine\Tests\Inflector\Rules\LanguageFunctionalTestCase;
class NorwegianBokmalFunctionalTest extends LanguageFunctionalTest
class NorwegianBokmalFunctionalTest extends LanguageFunctionalTestCase
{
/** @return string[][] */
public function dataSampleWords(): array
public static function dataSampleWords(): array
{
return [
['dag', 'dager'],

View File

@@ -7,12 +7,12 @@ namespace Doctrine\Tests\Inflector\Rules\Portuguese;
use Doctrine\Inflector\Inflector;
use Doctrine\Inflector\InflectorFactory;
use Doctrine\Inflector\Language;
use Doctrine\Tests\Inflector\Rules\LanguageFunctionalTest;
use Doctrine\Tests\Inflector\Rules\LanguageFunctionalTestCase;
class PortugueseFunctionalTest extends LanguageFunctionalTest
class PortugueseFunctionalTest extends LanguageFunctionalTestCase
{
/** @return string[][] */
public function dataSampleWords(): array
public static function dataSampleWords(): array
{
return [
['livro', 'livros'],

View File

@@ -7,12 +7,12 @@ namespace Doctrine\Tests\Inflector\Rules\Spanish;
use Doctrine\Inflector\Inflector;
use Doctrine\Inflector\InflectorFactory;
use Doctrine\Inflector\Language;
use Doctrine\Tests\Inflector\Rules\LanguageFunctionalTest;
use Doctrine\Tests\Inflector\Rules\LanguageFunctionalTestCase;
class SpanishFunctionalTest extends LanguageFunctionalTest
class SpanishFunctionalTest extends LanguageFunctionalTestCase
{
/** @return string[][] */
public function dataSampleWords(): array
public static function dataSampleWords(): array
{
return [
['libro', 'libros'],

View File

@@ -7,12 +7,12 @@ namespace Doctrine\Tests\Inflector\Rules\Turkish;
use Doctrine\Inflector\Inflector;
use Doctrine\Inflector\InflectorFactory;
use Doctrine\Inflector\Language;
use Doctrine\Tests\Inflector\Rules\LanguageFunctionalTest;
use Doctrine\Tests\Inflector\Rules\LanguageFunctionalTestCase;
class TurkishFunctionalTest extends LanguageFunctionalTest
class TurkishFunctionalTest extends LanguageFunctionalTestCase
{
/** @return string[][] */
public function dataSampleWords(): array
public static function dataSampleWords(): array
{
return [
['gün', 'günler'],