1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
<?php
namespace Twig\Tests\Util;
/*
* 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 PHPUnit\Framework\TestCase;
use Twig\DeprecatedCallableInfo;
use Twig\Environment;
use Twig\Loader\ArrayLoader;
use Twig\TwigFunction;
use Twig\Util\DeprecationCollector;
class DeprecationCollectorTest extends TestCase
{
/**
* @requires PHP 5.3
*/
public function testCollect()
{
$twig = new Environment(new ArrayLoader());
$twig->addFunction(new TwigFunction('deprec', [$this, 'deprec'], ['deprecation_info' => new DeprecatedCallableInfo('foo/bar', '1.1')]));
$collector = new DeprecationCollector($twig);
$deprecations = $collector->collect(new Iterator());
$this->assertEquals(['Since foo/bar 1.1: Twig Function "deprec" is deprecated in deprec.twig at line 1.'], $deprecations);
}
public function deprec()
{
}
}
class Iterator implements \IteratorAggregate
{
public function getIterator(): \Traversable
{
return new \ArrayIterator([
'ok.twig' => '{{ foo }}',
'deprec.twig' => '{{ deprec("foo") }}',
]);
}
}
|