mirror of
https://github.com/twigphp/Twig.git
synced 2026-09-14 11:27:00 +00:00
PHPUnit 11
This commit is contained in:
committed by
Fabien Potencier
parent
1383c09982
commit
f2053bbea0
@@ -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
@@ -1,6 +1,7 @@
|
||||
/doc/_build/vendor
|
||||
/doc/_build/output
|
||||
/composer.lock
|
||||
/phpunit.phar
|
||||
/phpunit.xml
|
||||
/vendor
|
||||
.phpunit.result.cache
|
||||
.phpunit.cache
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
"symfony/polyfill-php81": "^1.29"
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/phpunit-bridge": "^7.2",
|
||||
"psr/container": "^1.0|^2.0"
|
||||
},
|
||||
"autoload": {
|
||||
|
||||
@@ -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": [
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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": [
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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": [
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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": [
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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": [
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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": [
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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']);
|
||||
@@ -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
@@ -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>
|
||||
|
||||
@@ -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([]);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
@@ -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);
|
||||
|
||||
@@ -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,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));
|
||||
|
||||
@@ -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']]);
|
||||
|
||||
@@ -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
@@ -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.'" }}';
|
||||
|
||||
@@ -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
@@ -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()], []);
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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
@@ -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,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]);
|
||||
|
||||
Reference in New Issue
Block a user