Files
Twig/tests/Node/BlockTest.php
T
Fabien Potencier dd9af8ec25 feature #4265 Migrate NodeTestCase to static data providers (derrabus)
This PR was merged into the 3.x branch.

Discussion
----------

Migrate NodeTestCase to static data providers

PHPUnit 11 requires data providers to be static. This PR prepares our abstract `NodeTestCase` by deprecating the non-static `getTests()` and adding a static `provideTests()` as a replacement. I've also added PHPUnit attributes which newer PHPUnit releases prefer over PHPDoc annotations.

Commits
-------

f555a33c Migrate NodeTestCase to static data providers
2024-09-03 14:03:04 +02:00

52 lines
1.1 KiB
PHP

<?php
namespace Twig\Tests\Node;
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
use Twig\Environment;
use Twig\Loader\ArrayLoader;
use Twig\Node\BlockNode;
use Twig\Node\TextNode;
use Twig\Test\NodeTestCase;
class BlockTest extends NodeTestCase
{
public function testConstructor()
{
$body = new TextNode('foo', 1);
$node = new BlockNode('foo', $body, 1);
$this->assertEquals($body, $node->getNode('body'));
$this->assertEquals('foo', $node->getAttribute('name'));
}
public static function provideTests(): iterable
{
$tests = [];
$tests[] = [new BlockNode('foo', new TextNode('foo', 1), 1), <<<EOF
// line 1
/**
* @return iterable<string>
*/
public function block_foo(array \$context, array \$blocks = []): iterable
{
\$macros = \$this->macros;
yield "foo";
yield from [];
}
EOF
, new Environment(new ArrayLoader()),
];
return $tests;
}
}