PHPUnit 11

This commit is contained in:
Alexander M. Turek
2024-09-02 16:34:53 +02:00
committed by Fabien Potencier
parent 1383c09982
commit f2053bbea0
41 changed files with 287 additions and 288 deletions
+6 -17
View File
@@ -35,20 +35,15 @@ jobs:
coverage: "none"
php-version: ${{ matrix.php-version }}
ini-values: memory_limit=-1
tools: phpunit:11.3
- name: "Add PHPUnit matcher"
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
- run: composer install
- name: "Install PHPUnit"
run: vendor/bin/simple-phpunit install
- name: "PHPUnit version"
run: vendor/bin/simple-phpunit --version
- name: "Run tests"
run: vendor/bin/simple-phpunit
run: phpunit
extension-tests:
needs:
@@ -86,19 +81,11 @@ jobs:
coverage: "none"
php-version: ${{ matrix.php-version }}
ini-values: memory_limit=-1
tools: phpunit:11.3
- name: "Add PHPUnit matcher"
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
- name: "Composer install Twig"
run: composer install
- name: "Install PHPUnit"
run: vendor/bin/simple-phpunit install
- name: "PHPUnit version"
run: vendor/bin/simple-phpunit --version
- name: "Prevent installing symfony/translation-contract 3.0"
if: "matrix.extension == 'twig-extra-bundle'"
working-directory: extra/${{ matrix.extension }}
@@ -110,7 +97,9 @@ jobs:
- name: "Run tests for ${{ matrix.extension }}"
working-directory: extra/${{ matrix.extension }}
run: ../../vendor/bin/simple-phpunit
env:
LANG: 'en_US.UTF-8'
run: phpunit
integration-tests:
if: "false" # TODO re-enable that job when Drupal does not use features deprecated in 3.x anymore
+2 -1
View File
@@ -1,6 +1,7 @@
/doc/_build/vendor
/doc/_build/output
/composer.lock
/phpunit.phar
/phpunit.xml
/vendor
.phpunit.result.cache
.phpunit.cache
-1
View File
@@ -31,7 +31,6 @@
"symfony/polyfill-php81": "^1.29"
},
"require-dev": {
"symfony/phpunit-bridge": "^7.2",
"psr/container": "^1.0|^2.0"
},
"autoload": {
-3
View File
@@ -19,9 +19,6 @@
"symfony/cache": "^5.4|^6.4|^7.0",
"twig/twig": "^3.13|^4.0"
},
"require-dev": {
"symfony/phpunit-bridge": "^6.4|^7.0"
},
"autoload": {
"psr-4" : { "Twig\\Extra\\Cache\\" : "" },
"exclude-from-classmap": [
+22 -10
View File
@@ -1,14 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" failOnRisky="true" failOnWarning="true">
<coverage>
<include>
<directory>./</directory>
</include>
<exclude>
<directory>./Tests</directory>
<directory>./vendor</directory>
</exclude>
</coverage>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
backupGlobals="false"
colors="true"
processIsolation="false"
stopOnFailure="false"
bootstrap="vendor/autoload.php"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/11.3/phpunit.xsd"
cacheDirectory=".phpunit.cache"
backupStaticProperties="false"
failOnDeprecation="true"
failOnNotice="true"
failOnWarning="true"
>
<php>
<ini name="error_reporting" value="-1"/>
</php>
@@ -17,4 +20,13 @@
<directory>./Tests/</directory>
</testsuite>
</testsuites>
<source ignoreSuppressionOfDeprecations="true">
<include>
<directory>./</directory>
</include>
<exclude>
<directory>./Tests</directory>
<directory>./vendor</directory>
</exclude>
</source>
</phpunit>
-3
View File
@@ -20,9 +20,6 @@
"tijsverkoyen/css-to-inline-styles": "^2.0",
"twig/twig": "^3.13|^4.0"
},
"require-dev": {
"symfony/phpunit-bridge": "^6.4|^7.0"
},
"autoload": {
"psr-4" : { "Twig\\Extra\\CssInliner\\" : "" },
"exclude-from-classmap": [
+22 -10
View File
@@ -1,14 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" failOnRisky="true" failOnWarning="true">
<coverage>
<include>
<directory>./</directory>
</include>
<exclude>
<directory>./Tests</directory>
<directory>./vendor</directory>
</exclude>
</coverage>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
backupGlobals="false"
colors="true"
processIsolation="false"
stopOnFailure="false"
bootstrap="vendor/autoload.php"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/11.3/phpunit.xsd"
cacheDirectory=".phpunit.cache"
backupStaticProperties="false"
failOnDeprecation="true"
failOnNotice="true"
failOnWarning="true"
>
<php>
<ini name="error_reporting" value="-1"/>
</php>
@@ -17,4 +20,13 @@
<directory>./Tests/</directory>
</testsuite>
</testsuites>
<source ignoreSuppressionOfDeprecations="true">
<include>
<directory>./</directory>
</include>
<exclude>
<directory>./Tests</directory>
<directory>./vendor</directory>
</exclude>
</source>
</phpunit>
+3 -6
View File
@@ -11,14 +11,13 @@
namespace Twig\Extra\Html\Tests;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
use Twig\Extra\Html\Cva;
class CvaTest extends TestCase
{
/**
* @dataProvider recipeProvider
*/
#[DataProvider('recipeProvider')]
public function testRecipes(array $recipe, array $recipes, string $expected)
{
$recipeClass = new Cva($recipe['base'] ?? '', $recipe['variants'] ?? [], $recipe['compounds'] ?? [], $recipe['defaultVariants'] ?? []);
@@ -620,9 +619,7 @@ class CvaTest extends TestCase
];
}
/**
* @dataProvider provideAdditionalClassesCases
*/
#[DataProvider('provideAdditionalClassesCases')]
public function testAdditionalClasses(string|array $base, array|string $additionals, string $expected)
{
$cva = new Cva($base);
-3
View File
@@ -20,9 +20,6 @@
"symfony/mime": "^5.4|^6.4|^7.0",
"twig/twig": "^3.13|^4.0"
},
"require-dev": {
"symfony/phpunit-bridge": "^6.4|^7.0"
},
"autoload": {
"psr-4" : { "Twig\\Extra\\Html\\" : "" },
"exclude-from-classmap": [
+22 -10
View File
@@ -1,14 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" failOnRisky="true" failOnWarning="true">
<coverage>
<include>
<directory>./</directory>
</include>
<exclude>
<directory>./Tests</directory>
<directory>./vendor</directory>
</exclude>
</coverage>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
backupGlobals="false"
colors="true"
processIsolation="false"
stopOnFailure="false"
bootstrap="vendor/autoload.php"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/11.3/phpunit.xsd"
cacheDirectory=".phpunit.cache"
backupStaticProperties="false"
failOnDeprecation="true"
failOnNotice="true"
failOnWarning="true"
>
<php>
<ini name="error_reporting" value="-1"/>
</php>
@@ -17,4 +20,13 @@
<directory>./Tests/</directory>
</testsuite>
</testsuites>
<source ignoreSuppressionOfDeprecations="true">
<include>
<directory>./</directory>
</include>
<exclude>
<directory>./Tests</directory>
<directory>./vendor</directory>
</exclude>
</source>
</phpunit>
-3
View File
@@ -20,9 +20,6 @@
"lorenzo/pinky": "^1.0.5",
"twig/twig": "^3.13|^4.0"
},
"require-dev": {
"symfony/phpunit-bridge": "^6.4|^7.0"
},
"autoload": {
"psr-4" : { "Twig\\Extra\\Inky\\" : "" },
"exclude-from-classmap": [
+22 -10
View File
@@ -1,14 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" failOnRisky="true" failOnWarning="true">
<coverage>
<include>
<directory>./</directory>
</include>
<exclude>
<directory>./Tests</directory>
<directory>./vendor</directory>
</exclude>
</coverage>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
backupGlobals="false"
colors="true"
processIsolation="false"
stopOnFailure="false"
bootstrap="vendor/autoload.php"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/11.3/phpunit.xsd"
cacheDirectory=".phpunit.cache"
backupStaticProperties="false"
failOnDeprecation="true"
failOnNotice="true"
failOnWarning="true"
>
<php>
<ini name="error_reporting" value="-1"/>
</php>
@@ -17,4 +20,13 @@
<directory>./Tests/</directory>
</testsuite>
</testsuites>
<source ignoreSuppressionOfDeprecations="true">
<include>
<directory>./</directory>
</include>
<exclude>
<directory>./Tests</directory>
<directory>./vendor</directory>
</exclude>
</source>
</phpunit>
-3
View File
@@ -19,9 +19,6 @@
"twig/twig": "^3.13|^4.0",
"symfony/intl": "^5.4|^6.4|^7.0"
},
"require-dev": {
"symfony/phpunit-bridge": "^6.4|^7.0"
},
"autoload": {
"psr-4" : { "Twig\\Extra\\Intl\\" : "" },
"exclude-from-classmap": [
+22 -10
View File
@@ -1,14 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" failOnRisky="true" failOnWarning="true">
<coverage>
<include>
<directory>./</directory>
</include>
<exclude>
<directory>./Tests</directory>
<directory>./vendor</directory>
</exclude>
</coverage>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
backupGlobals="false"
colors="true"
processIsolation="false"
stopOnFailure="false"
bootstrap="vendor/autoload.php"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/11.3/phpunit.xsd"
cacheDirectory=".phpunit.cache"
backupStaticProperties="false"
failOnDeprecation="true"
failOnNotice="true"
failOnWarning="true"
>
<php>
<env name="LANG" value="en_US.UTF-8" force="true"/>
<ini name="error_reporting" value="-1"/>
@@ -18,4 +21,13 @@
<directory>./Tests/</directory>
</testsuite>
</testsuites>
<source ignoreSuppressionOfDeprecations="true">
<include>
<directory>./</directory>
</include>
<exclude>
<directory>./Tests</directory>
<directory>./vendor</directory>
</exclude>
</source>
</phpunit>
@@ -11,6 +11,7 @@
namespace Twig\Extra\Markdown\Tests;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
use Twig\Environment;
use Twig\Extra\Markdown\DefaultMarkdown;
@@ -24,9 +25,7 @@ use Twig\RuntimeLoader\RuntimeLoaderInterface;
class FunctionalTest extends TestCase
{
/**
* @dataProvider getMarkdownTests
*/
#[DataProvider('getMarkdownTests')]
public function testMarkdown(string $template, string $expected)
{
foreach ([LeagueMarkdown::class, ErusevMarkdown::class, /* MichelfMarkdown::class, */ DefaultMarkdown::class] as $class) {
-1
View File
@@ -20,7 +20,6 @@
"twig/twig": "^3.13|^4.0"
},
"require-dev": {
"symfony/phpunit-bridge": "^6.4|^7.0",
"erusev/parsedown": "^1.7",
"league/commonmark": "^1.0|^2.0",
"league/html-to-markdown": "^4.8|^5.0",
+22 -10
View File
@@ -1,14 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" failOnRisky="true" failOnWarning="true">
<coverage>
<include>
<directory>./</directory>
</include>
<exclude>
<directory>./Tests</directory>
<directory>./vendor</directory>
</exclude>
</coverage>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
backupGlobals="false"
colors="true"
processIsolation="false"
stopOnFailure="false"
bootstrap="vendor/autoload.php"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/11.3/phpunit.xsd"
cacheDirectory=".phpunit.cache"
backupStaticProperties="false"
failOnDeprecation="true"
failOnNotice="true"
failOnWarning="true"
>
<php>
<ini name="error_reporting" value="-1"/>
</php>
@@ -17,4 +20,13 @@
<directory>./Tests/</directory>
</testsuite>
</testsuites>
<source ignoreSuppressionOfDeprecations="true">
<include>
<directory>./</directory>
</include>
<exclude>
<directory>./Tests</directory>
<directory>./vendor</directory>
</exclude>
</source>
</phpunit>
-3
View File
@@ -20,9 +20,6 @@
"symfony/translation-contracts": "^1.1|^2|^3",
"twig/twig": "^3.13|^4.0"
},
"require-dev": {
"symfony/phpunit-bridge": "^6.4|^7.0"
},
"autoload": {
"psr-4" : { "Twig\\Extra\\String\\" : "" },
"exclude-from-classmap": [
+22 -10
View File
@@ -1,14 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" failOnRisky="true" failOnWarning="true">
<coverage>
<include>
<directory>./</directory>
</include>
<exclude>
<directory>./Tests</directory>
<directory>./vendor</directory>
</exclude>
</coverage>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
backupGlobals="false"
colors="true"
processIsolation="false"
stopOnFailure="false"
bootstrap="vendor/autoload.php"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/11.3/phpunit.xsd"
cacheDirectory=".phpunit.cache"
backupStaticProperties="false"
failOnDeprecation="true"
failOnNotice="true"
failOnWarning="true"
>
<php>
<ini name="error_reporting" value="-1"/>
</php>
@@ -17,4 +20,13 @@
<directory>./Tests/</directory>
</testsuite>
</testsuites>
<source ignoreSuppressionOfDeprecations="true">
<include>
<directory>./</directory>
</include>
<exclude>
<directory>./Tests</directory>
<directory>./vendor</directory>
</exclude>
</source>
</phpunit>
-1
View File
@@ -22,7 +22,6 @@
},
"require-dev": {
"league/commonmark": "^1.0|^2.0",
"symfony/phpunit-bridge": "^6.4|^7.0",
"twig/cache-extra": "^3.0",
"twig/cssinliner-extra": "^3.0",
"twig/html-extra": "^3.0",
@@ -0,0 +1,8 @@
<?php
use Symfony\Component\ErrorHandler\ErrorHandler;
require __DIR__ . '/vendor/autoload.php';
// see https://github.com/symfony/symfony/issues/53812#issuecomment-1962740145
set_exception_handler([new ErrorHandler(), 'handleException']);
+22 -10
View File
@@ -1,14 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" failOnRisky="true" failOnWarning="true">
<coverage>
<include>
<directory>./</directory>
</include>
<exclude>
<directory>./Tests</directory>
<directory>./vendor</directory>
</exclude>
</coverage>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
backupGlobals="false"
colors="true"
processIsolation="false"
stopOnFailure="false"
bootstrap="phpunit-bootstrap.php"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/11.3/phpunit.xsd"
cacheDirectory=".phpunit.cache"
backupStaticProperties="false"
failOnDeprecation="true"
failOnNotice="true"
failOnWarning="true"
>
<php>
<ini name="error_reporting" value="-1"/>
<server name="KERNEL_CLASS" value="Twig\Extra\TwigExtraBundle\Tests\Fixture\Kernel"/>
@@ -19,4 +22,13 @@
<directory>./Tests/</directory>
</testsuite>
</testsuites>
<source ignoreSuppressionOfDeprecations="true">
<include>
<directory>./</directory>
</include>
<exclude>
<directory>./Tests</directory>
<directory>./vendor</directory>
</exclude>
</source>
</phpunit>
+18 -5
View File
@@ -1,6 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" backupGlobals="false" backupStaticAttributes="false" colors="true" convertErrorsToExceptions="true" convertNoticesToExceptions="true" convertWarningsToExceptions="true" processIsolation="false" stopOnFailure="false" bootstrap="vendor/autoload.php" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.6/phpunit.xsd">
<coverage/>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
backupGlobals="false"
colors="true"
processIsolation="false"
stopOnFailure="false"
bootstrap="vendor/autoload.php"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/11.3/phpunit.xsd"
cacheDirectory=".phpunit.cache"
backupStaticProperties="false"
failOnDeprecation="true"
failOnNotice="true"
failOnWarning="true"
>
<testsuites>
<testsuite name="Twig Test Suite">
<directory>./tests/</directory>
@@ -10,7 +21,9 @@
<ini name="error_reporting" value="-1" />
<ini name="xdebug.mode" value="off" />
</php>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SymfonyTestsListener" />
</listeners>
<source ignoreSuppressionOfDeprecations="true">
<include>
<directory>src</directory>
</include>
</source>
</phpunit>
+2 -3
View File
@@ -11,6 +11,7 @@ namespace Twig\Tests\Cache;
* file that was distributed with this source code.
*/
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
use Twig\Cache\ChainCache;
use Twig\Cache\FilesystemCache;
@@ -203,9 +204,7 @@ class ChainTest extends TestCase
$this->assertSame(0, $this->cache->getTimestamp($this->key));
}
/**
* @dataProvider provideInput
*/
#[DataProvider('provideInput')]
public function testGenerateKey($expected, $input)
{
$cache = new ChainCache([]);
+2 -2
View File
@@ -11,6 +11,7 @@ namespace Twig\Tests\Cache;
* file that was distributed with this source code.
*/
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
use Twig\Cache\FilesystemCache;
use Twig\Tests\FilesystemHelper;
@@ -161,9 +162,8 @@ class FilesystemTest extends TestCase
/**
* Test file cache is tolerant towards trailing (back)slashes on the configured cache directory.
*
* @dataProvider provideDirectories
*/
#[DataProvider('provideDirectories')]
public function testGenerateKey($expected, $input)
{
$cache = new FilesystemCache($input);
+2 -2
View File
@@ -11,6 +11,7 @@ namespace Twig\Tests\Cache;
* file that was distributed with this source code.
*/
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
use Twig\Cache\ReadOnlyFilesystemCache;
use Twig\Tests\FilesystemHelper;
@@ -100,9 +101,8 @@ class ReadOnlyFilesystemTest extends TestCase
/**
* Test file cache is tolerant towards trailing (back)slashes on the configured cache directory.
*
* @dataProvider provideDirectories
*/
#[DataProvider('provideDirectories')]
public function testGenerateKey($expected, $input)
{
$cache = new ReadOnlyFilesystemCache($input);
+2 -3
View File
@@ -11,6 +11,7 @@ namespace Twig\Tests;
* file that was distributed with this source code.
*/
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
use Twig\Environment;
use Twig\Extension\ExtensionInterface;
@@ -18,9 +19,7 @@ use Twig\Loader\ArrayLoader;
class CustomExtensionTest extends TestCase
{
/**
* @dataProvider provideInvalidExtensions
*/
#[DataProvider('provideInvalidExtensions')]
public function testGetInvalidOperators(ExtensionInterface $extension, $expectedExceptionMessage)
{
$this->expectException(\InvalidArgumentException::class);
+2 -3
View File
@@ -11,6 +11,7 @@ namespace Twig\Tests;
* file that was distributed with this source code.
*/
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
use Twig\Environment;
use Twig\Error\Error;
@@ -124,9 +125,7 @@ EOHTML
}
}
/**
* @dataProvider getErroredTemplates
*/
#[DataProvider('getErroredTemplates')]
public function testTwigExceptionAddsFileAndLine($templates, $name, $line)
{
$loader = new ArrayLoader($templates);
+7 -18
View File
@@ -11,6 +11,7 @@ namespace Twig\Tests;
* file that was distributed with this source code.
*/
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
use Twig\Environment;
use Twig\Error\SyntaxError;
@@ -28,9 +29,7 @@ use Twig\TwigTest;
class ExpressionParserTest extends TestCase
{
/**
* @dataProvider getFailingTestsForAssignment
*/
#[DataProvider('getFailingTestsForAssignment')]
public function testCanOnlyAssignToNames($template)
{
$this->expectException(SyntaxError::class);
@@ -58,9 +57,7 @@ class ExpressionParserTest extends TestCase
];
}
/**
* @dataProvider getTestsForSequence
*/
#[DataProvider('getTestsForSequence')]
public function testSequenceExpression($template, $expected)
{
$env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false]);
@@ -71,9 +68,7 @@ class ExpressionParserTest extends TestCase
$this->assertEquals($expected, $parser->parse($stream)->getNode('body')->getNode(0)->getNode('expr'));
}
/**
* @dataProvider getFailingTestsForSequence
*/
#[DataProvider('getFailingTestsForSequence')]
public function testSequenceSyntaxError($template)
{
$this->expectException(SyntaxError::class);
@@ -211,9 +206,7 @@ class ExpressionParserTest extends TestCase
$parser->parse($stream);
}
/**
* @dataProvider getTestsForString
*/
#[DataProvider('getTestsForString')]
public function testStringExpression($template, $expected)
{
$env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false, 'optimizations' => 0]);
@@ -299,9 +292,7 @@ class ExpressionParserTest extends TestCase
$parser->parse($env->tokenize(new Source('{% macro foo("a") %}{% endmacro %}', 'index')));
}
/**
* @dataProvider getMacroDefinitionDoesNotSupportNonConstantDefaultValues
*/
#[DataProvider('getMacroDefinitionDoesNotSupportNonConstantDefaultValues')]
public function testMacroDefinitionDoesNotSupportNonConstantDefaultValues($template)
{
$this->expectException(SyntaxError::class);
@@ -321,9 +312,7 @@ class ExpressionParserTest extends TestCase
];
}
/**
* @dataProvider getMacroDefinitionSupportsConstantDefaultValues
*/
#[DataProvider('getMacroDefinitionSupportsConstantDefaultValues')]
public function testMacroDefinitionSupportsConstantDefaultValues($template)
{
$env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false]);
+11 -28
View File
@@ -11,15 +11,14 @@ namespace Twig\Tests\Extension;
* file that was distributed with this source code.
*/
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
class CoreTest extends TestCase
{
/**
* @dataProvider provideCycleCases
*/
#[DataProvider('provideCycleCases')]
public function testCycleFunction($values, $position, $expected)
{
$this->assertSame($expected, CoreExtension::cycle($values, $position));
@@ -40,10 +39,8 @@ class CoreTest extends TestCase
];
}
/**
* @dataProvider provideCycleInvalidCases
*/
public function testCycleFunctionThrowRuntimeError($values, mixed $position = null)
#[DataProvider('provideCycleInvalidCases')]
public function testCycleFunctionThrowRuntimeError($values, mixed $position = null)
{
$this->expectException(RuntimeError::class);
CoreExtension::cycle($values, $position ?? 0);
@@ -57,9 +54,7 @@ class CoreTest extends TestCase
];
}
/**
* @dataProvider getRandomFunctionTestData
*/
#[DataProvider('getRandomFunctionTestData')]
public function testRandomFunction(array $expectedInArray, $value1, $value2 = null)
{
for ($i = 0; $i < 100; ++$i) {
@@ -157,9 +152,7 @@ class CoreTest extends TestCase
$this->assertEquals($output, 'éÄ');
}
/**
* @dataProvider provideTwigFirstCases
*/
#[DataProvider('provideTwigFirstCases')]
public function testTwigFirst($expected, $input)
{
$this->assertSame($expected, CoreExtension::first('UTF-8', $input));
@@ -178,9 +171,7 @@ class CoreTest extends TestCase
];
}
/**
* @dataProvider provideTwigLastCases
*/
#[DataProvider('provideTwigLastCases')]
public function testTwigLast($expected, $input)
{
$this->assertSame($expected, CoreExtension::last('UTF-8', $input));
@@ -199,9 +190,7 @@ class CoreTest extends TestCase
];
}
/**
* @dataProvider provideArrayKeyCases
*/
#[DataProvider('provideArrayKeyCases')]
public function testArrayKeysFilter(array $expected, $input)
{
$this->assertSame($expected, CoreExtension::keys($input));
@@ -222,9 +211,7 @@ class CoreTest extends TestCase
];
}
/**
* @dataProvider provideInFilterCases
*/
#[DataProvider('provideInFilterCases')]
public function testInFilter($expected, $value, $compare)
{
$this->assertSame($expected, CoreExtension::inFilter($value, $compare));
@@ -250,9 +237,7 @@ class CoreTest extends TestCase
];
}
/**
* @dataProvider provideSliceFilterCases
*/
#[DataProvider('provideSliceFilterCases')]
public function testSliceFilter($expected, $input, $start, $length = null, $preserveKeys = false)
{
$this->assertSame($expected, CoreExtension::slice('UTF-8', $input, $start, $length, $preserveKeys));
@@ -279,9 +264,7 @@ class CoreTest extends TestCase
];
}
/**
* @dataProvider provideCompareCases
*/
#[DataProvider('provideCompareCases')]
public function testCompare($expected, $a, $b)
{
$this->assertSame($expected, CoreExtension::compare($a, $b));
+4 -9
View File
@@ -11,6 +11,7 @@ namespace Twig\Tests\Extension;
* file that was distributed with this source code.
*/
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
use Twig\Environment;
use Twig\Error\RuntimeError;
@@ -65,9 +66,7 @@ class SandboxTest extends TestCase
];
}
/**
* @dataProvider getSandboxedForCoreTagsTests
*/
#[DataProvider('getSandboxedForCoreTagsTests')]
public function testSandboxForCoreTags(string $tag, string $template)
{
$this->expectException(SecurityError::class);
@@ -215,9 +214,7 @@ class SandboxTest extends TestCase
}
}
/**
* @dataProvider getSandboxUnallowedToStringTests
*/
#[DataProvider('getSandboxUnallowedToStringTests')]
public function testSandboxUnallowedToString($template)
{
$twig = $this->getEnvironment(true, [], ['index' => $template], [], ['upper'], [FooObject::class => 'getAnotherFooObject'], [], ['random']);
@@ -249,9 +246,7 @@ class SandboxTest extends TestCase
];
}
/**
* @dataProvider getSandboxAllowedToStringTests
*/
#[DataProvider('getSandboxAllowedToStringTests')]
public function testSandboxAllowedToString($template, $output)
{
$twig = $this->getEnvironment(true, [], ['index' => $template], ['set'], [], [FooObject::class => ['foo', 'getAnotherFooObject']]);
+2 -3
View File
@@ -11,14 +11,13 @@ namespace Twig\Tests;
* file that was distributed with this source code.
*/
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
use Twig\FileExtensionEscapingStrategy;
class FileExtensionEscapingStrategyTest extends TestCase
{
/**
* @dataProvider getGuessData
*/
#[DataProvider('getGuessData')]
public function testGuess($strategy, $filename)
{
$this->assertSame($strategy, FileExtensionEscapingStrategy::guess($filename));
+4 -9
View File
@@ -11,6 +11,7 @@ namespace Twig\Tests;
* file that was distributed with this source code.
*/
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
use Twig\Environment;
use Twig\Error\SyntaxError;
@@ -178,9 +179,7 @@ class LexerTest extends TestCase
$this->assertEquals('922337203685477580700', $node->getValue());
}
/**
* @dataProvider getStringWithEscapedDelimiter
*/
#[DataProvider('getStringWithEscapedDelimiter')]
public function testStringWithEscapedDelimiter(string $template, string $expected)
{
$lexer = new Lexer(new Environment(new ArrayLoader()));
@@ -420,9 +419,7 @@ bar
$this->addToAssertionCount(1);
}
/**
* @dataProvider getTemplateForErrorsAtTheEndOfTheStream
*/
#[DataProvider('getTemplateForErrorsAtTheEndOfTheStream')]
public function testErrorsAtTheEndOfTheStream(string $template)
{
$lexer = new Lexer(new Environment(new ArrayLoader()));
@@ -443,9 +440,7 @@ bar
yield ['{{ ..'];
}
/**
* @dataProvider getTemplateForStrings
*/
#[DataProvider('getTemplateForStrings')]
public function testStrings(string $expected)
{
$template = '{{ "'.$expected.'" }}';
+4 -9
View File
@@ -11,6 +11,7 @@ namespace Twig\Tests\Loader;
* file that was distributed with this source code.
*/
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
use Twig\Environment;
use Twig\Error\LoaderError;
@@ -26,9 +27,7 @@ class FilesystemTest extends TestCase
$this->assertEquals(realpath($path.'/errors/index.html'), realpath($loader->getSourceContext('errors/index.html')->getPath()));
}
/**
* @dataProvider getSecurityTests
*/
#[DataProvider('getSecurityTests')]
public function testSecurity($template)
{
$loader = new FilesystemLoader([__DIR__.'/../Fixtures']);
@@ -71,9 +70,7 @@ class FilesystemTest extends TestCase
];
}
/**
* @dataProvider getBasePaths
*/
#[DataProvider('getBasePaths')]
public function testPaths($basePath, $cacheKey, $rootPath)
{
$loader = new FilesystemLoader([$basePath.'/normal', $basePath.'/normal_bis'], $rootPath);
@@ -206,9 +203,7 @@ class FilesystemTest extends TestCase
];
}
/**
* @dataProvider getArrayInheritanceTests
*/
#[DataProvider('getArrayInheritanceTests')]
public function testArrayInheritance(string $templateName)
{
$loader = new FilesystemLoader([]);
+5 -15
View File
@@ -11,8 +11,8 @@ namespace Twig\Tests\Node;
* file that was distributed with this source code.
*/
use PHPUnit\Framework\Attributes\IgnoreDeprecations;
use PHPUnit\Framework\TestCase;
use Symfony\Bridge\PhpUnit\ExpectUserDeprecationMessageTrait;
use Twig\Node\NameDeprecation;
use Twig\Node\Node;
use Twig\TwigFilter;
@@ -21,8 +21,6 @@ use Twig\TwigTest;
class NodeTest extends TestCase
{
use ExpectUserDeprecationMessageTrait;
public function testToString()
{
// callable is not a supported type for a Node attribute, but Drupal uses some apparently
@@ -75,9 +73,7 @@ EOF
$this->assertFalse($node->getAttribute('foo', false));
}
/**
* @group legacy
*/
#[IgnoreDeprecations]
public function testAttributeDeprecationWithoutAlternative()
{
$node = new Node([], ['foo' => false]);
@@ -87,9 +83,7 @@ EOF
$this->assertFalse($node->getAttribute('foo'));
}
/**
* @group legacy
*/
#[IgnoreDeprecations]
public function testAttributeDeprecationWithAlternative()
{
$node = new Node([], ['foo' => false]);
@@ -107,9 +101,7 @@ EOF
$this->assertSame($foo, $node->getNode('foo', false));
}
/**
* @group legacy
*/
#[IgnoreDeprecations]
public function testNodeDeprecationWithoutAlternative()
{
$node = new Node(['foo' => $foo = new Node()], []);
@@ -119,9 +111,7 @@ EOF
$this->assertSame($foo, $node->getNode('foo'));
}
/**
* @group legacy
*/
#[IgnoreDeprecations]
public function testNodeAttributeDeprecationWithAlternative()
{
$node = new Node(['foo' => $foo = new Node()], []);
+2 -3
View File
@@ -11,6 +11,7 @@ namespace Twig\Tests\NodeVisitor;
* file that was distributed with this source code.
*/
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
use Twig\Environment;
use Twig\Loader\ArrayLoader;
@@ -78,9 +79,7 @@ class OptimizerTest extends TestCase
}
}
/**
* @dataProvider getTestsForForLoopOptimizer
*/
#[DataProvider('getTestsForForLoopOptimizer')]
public function testForLoopOptimizer($template, $expected)
{
$env = new Environment(new ArrayLoader(), ['cache' => false]);
+4 -9
View File
@@ -11,6 +11,7 @@ namespace Twig\Tests;
* file that was distributed with this source code.
*/
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
use Twig\Environment;
use Twig\Error\SyntaxError;
@@ -57,9 +58,7 @@ class ParserTest extends TestCase
$parser->parse($stream);
}
/**
* @dataProvider getFilterBodyNodesData
*/
#[DataProvider('getFilterBodyNodesData')]
public function testFilterBodyNodes($input, $expected)
{
$parser = $this->getParser();
@@ -85,9 +84,7 @@ class ParserTest extends TestCase
];
}
/**
* @dataProvider getFilterBodyNodesDataThrowsException
*/
#[DataProvider('getFilterBodyNodesDataThrowsException')]
public function testFilterBodyNodesThrowsException($input)
{
$this->expectException(SyntaxError::class);
@@ -106,9 +103,7 @@ class ParserTest extends TestCase
];
}
/**
* @dataProvider getFilterBodyNodesWithBOMData
*/
#[DataProvider('getFilterBodyNodesWithBOMData')]
public function testFilterBodyNodesWithBOM($emptyNode)
{
$parser = $this->getParser();
+3 -6
View File
@@ -11,6 +11,7 @@ namespace Twig\Tests\Runtime;
* file that was distributed with this source code.
*/
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
use Twig\Error\RuntimeError;
use Twig\Runtime\EscaperRuntime;
@@ -347,9 +348,7 @@ class EscaperRuntimeTest extends TestCase
(new EscaperRuntime())->escape('foo', 'bar');
}
/**
* @dataProvider provideCustomEscaperCases
*/
#[DataProvider('provideCustomEscaperCases')]
public function testCustomEscaper($expected, $string, $strategy, $charset)
{
$escaper = new EscaperRuntime();
@@ -366,9 +365,7 @@ class EscaperRuntimeTest extends TestCase
];
}
/**
* @dataProvider provideObjectsForEscaping
*/
#[DataProvider('provideObjectsForEscaping')]
public function testObjectEscaping(string $escapedHtml, string $escapedJs, array $safeClasses)
{
$obj = new ExtensionTestClass();
+6 -11
View File
@@ -11,14 +11,13 @@
namespace Twig\Tests\Runtime;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
use Twig\Runtime\LoopIterator;
class LoopIteratorTest extends TestCase
{
/**
* @dataProvider provideIterablesForNext
*/
#[DataProvider('provideIterablesForNext')]
public function testNextWhenValid(iterable $iterable)
{
$iterator = new LoopIterator($iterable);
@@ -29,9 +28,7 @@ class LoopIteratorTest extends TestCase
$this->assertSame('bar', $iterator->current());
}
/**
* @dataProvider provideIterablesForNext
*/
#[DataProvider('provideIterablesForNext')]
public function testNextWhenNotValid(iterable $iterable)
{
$iterator = new LoopIterator($iterable);
@@ -43,16 +40,14 @@ class LoopIteratorTest extends TestCase
$this->assertNull($iterator->current());
}
public function provideIterablesForNext()
public static function provideIterablesForNext()
{
yield [['foo', 'bar']];
yield [new \ArrayIterator(['foo', 'bar'])];
yield [new TypedArrayIterator(['foo', 'bar'])];
}
/**
* @dataProvider provideIterablesForRewind
*/
#[DataProvider('provideIterablesForRewind')]
public function testRewind(iterable $iterable)
{
$iterator = new LoopIterator($iterable);
@@ -69,7 +64,7 @@ class LoopIteratorTest extends TestCase
$this->assertSame('foo', $iterator->current());
}
public function provideIterablesForRewind()
public static function provideIterablesForRewind()
{
yield [['foo', 'bar']];
yield [new \ArrayIterator(['foo', 'bar'])];
+8 -21
View File
@@ -11,6 +11,7 @@ namespace Twig\Tests;
* file that was distributed with this source code.
*/
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
use Twig\Environment;
use Twig\Error\RuntimeError;
@@ -34,9 +35,7 @@ class TemplateTest extends TestCase
$template->renderBlock('foo', [], ['foo' => [new \stdClass(), 'foo']]);
}
/**
* @dataProvider getAttributeExceptions
*/
#[DataProvider('getAttributeExceptions')]
public function testGetAttributeExceptions($template, $message)
{
$templates = ['index' => $template];
@@ -84,9 +83,7 @@ class TemplateTest extends TestCase
];
}
/**
* @dataProvider getGetAttributeWithSandbox
*/
#[DataProvider('getGetAttributeWithSandbox')]
public function testGetAttributeWithSandbox($object, $item, $allowed)
{
$twig = new Environment(new ArrayLoader());
@@ -123,9 +120,7 @@ class TemplateTest extends TestCase
];
}
/**
* @dataProvider getRenderTemplateWithoutOutputData
*/
#[DataProvider('getRenderTemplateWithoutOutputData')]
public function testRenderTemplateWithoutOutput(string $template)
{
$twig = new Environment(new ArrayLoader(['index' => $template]));
@@ -185,9 +180,7 @@ class TemplateTest extends TestCase
$this->assertSame('EmptyString', CoreExtension::getAttribute($twig, $template->getSourceContext(), $array, null), 'null is treated as "" when accessing a sequence/mapping (equals PHP behavior)');
}
/**
* @dataProvider getGetAttributeTests
*/
#[DataProvider('getGetAttributeTests')]
public function testGetAttribute($defined, $value, $object, $item, $arguments, $type)
{
$twig = new Environment(new ArrayLoader());
@@ -196,9 +189,7 @@ class TemplateTest extends TestCase
$this->assertEquals($value, CoreExtension::getAttribute($twig, $template->getSourceContext(), $object, $item, $arguments, $type));
}
/**
* @dataProvider getGetAttributeTests
*/
#[DataProvider('getGetAttributeTests')]
public function testGetAttributeStrict($defined, $value, $object, $item, $arguments, $type, $exceptionMessage = null)
{
$twig = new Environment(new ArrayLoader(), ['strict_variables' => true]);
@@ -215,9 +206,7 @@ class TemplateTest extends TestCase
}
}
/**
* @dataProvider getGetAttributeTests
*/
#[DataProvider('getGetAttributeTests')]
public function testGetAttributeDefined($defined, $value, $object, $item, $arguments, $type)
{
$twig = new Environment(new ArrayLoader());
@@ -226,9 +215,7 @@ class TemplateTest extends TestCase
$this->assertEquals($defined, CoreExtension::getAttribute($twig, $template->getSourceContext(), $object, $item, $arguments, $type, true));
}
/**
* @dataProvider getGetAttributeTests
*/
#[DataProvider('getGetAttributeTests')]
public function testGetAttributeDefinedStrict($defined, $value, $object, $item, $arguments, $type)
{
$twig = new Environment(new ArrayLoader(), ['strict_variables' => true]);
+2 -1
View File
@@ -2,6 +2,7 @@
namespace Twig\Tests\TokenParser;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
use Twig\Environment;
use Twig\Loader\ArrayLoader;
@@ -10,7 +11,7 @@ use Twig\Source;
class TypesTokenParserTest extends TestCase
{
/** @dataProvider getMappingTests */
#[DataProvider('getMappingTests')]
public function testMappingParsing(string $template, array $expected): void
{
$env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false]);