Switch to static data provides for integration tests

This commit is contained in:
Alexander M. Turek
2024-09-03 22:48:59 +02:00
parent 6f9f7e2d29
commit 9282dbcc42
+12 -9
View File
@@ -11,6 +11,8 @@
namespace Twig\Test;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\Attributes\IgnoreDeprecations;
use PHPUnit\Framework\Constraint\Exception;
use PHPUnit\Framework\TestCase;
use Twig\Environment;
@@ -75,6 +77,7 @@ abstract class IntegrationTestCase extends TestCase
/**
* @dataProvider getTests
*/
#[DataProvider('getTests')]
public function testIntegration($file, $message, $condition, $templates, $exception, $outputs, $deprecation = '')
{
$this->doIntegrationTest($file, $message, $condition, $templates, $exception, $outputs, $deprecation);
@@ -85,15 +88,13 @@ abstract class IntegrationTestCase extends TestCase
*
* @group legacy
*/
#[DataProvider('getLegacyTests'), IgnoreDeprecations]
public function testLegacyIntegration($file, $message, $condition, $templates, $exception, $outputs, $deprecation = '')
{
$this->doIntegrationTest($file, $message, $condition, $templates, $exception, $outputs, $deprecation);
}
/**
* @final since Twig 3.13
*/
public function getTests($name, $legacyTests = false)
private static function assembleTests(bool $legacyTests): array
{
$fixturesDir = static::getFixturesDirectory();
$fixturesDir = realpath($fixturesDir);
@@ -139,12 +140,14 @@ abstract class IntegrationTestCase extends TestCase
return $tests;
}
/**
* @final since Twig 3.13
*/
public function getLegacyTests()
final public static function getTests(): array
{
return $this->getTests('testLegacyIntegration', true);
return self::assembleTests(false);
}
final public static function getLegacyTests(): array
{
return self::assembleTests(true);
}
protected function doIntegrationTest($file, $message, $condition, $templates, $exception, $outputs, $deprecation = '')