Spaces:
No application file
No application file
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/'; | |
} | |
} | |