Spaces:
No application file
No application file
File size: 1,999 Bytes
d2897cd |
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 52 53 54 55 56 57 58 59 60 61 62 |
<?php
declare(strict_types=1);
namespace Mautic\CoreBundle\Tests\Twig;
use Mautic\CoreBundle\Helper\CoreParametersHelper;
use Mautic\CoreBundle\Helper\PathsHelper;
use Mautic\CoreBundle\Twig\Extension\AppExtension;
use Mautic\CoreBundle\Twig\Extension\AssetExtension;
use Mautic\CoreBundle\Twig\Extension\ClassExtension;
use Mautic\CoreBundle\Twig\Extension\FormExtension;
use Mautic\CoreBundle\Twig\Helper\AssetsHelper;
use PHPUnit\Framework\MockObject\MockObject;
use Symfony\Component\Asset\Packages;
use Twig\Extension\ExtensionInterface;
/**
* @see https://twig.symfony.com/doc/2.x/advanced.html#functional-tests
*/
class TwigIntegrationTest extends \Twig\Test\IntegrationTestCase
{
/**
* @return ExtensionInterface[]
*/
public function getExtensions(): array
{
/** @var Packages&MockObject $packagesMock */
$packagesMock = $this->createMock(Packages::class);
/** @var CoreParametersHelper&MockObject $coreParametersHelper */
$coreParametersHelper = $this->createMock(CoreParametersHelper::class);
/** @var PathsHelper&MockObject $pathHelperMock */
$pathHelperMock = $this->createMock(PathsHelper::class);
$packagesMock->method('getUrl')
->will($this->returnCallback(function (string $path) {
$packageName = $version = null;
$absolute = $ignorePrefix = false;
return "{$path}/{$packageName}/{$version}/{$absolute}/{$ignorePrefix}}";
}));
$assetsHelper = new AssetsHelper($packagesMock, $coreParametersHelper);
$pathHelperMock->method('getSystemPath')->willReturn('https://example.com/');
$assetsHelper->setPathsHelper($pathHelperMock);
return [
new AppExtension(),
new AssetExtension($assetsHelper),
new ClassExtension(),
new FormExtension(),
];
}
public function getFixturesDir()
{
return __DIR__.'/Fixtures/';
}
}
|