TranslationDefaultDomainNodeVisitor example

return [
            // {% trans %}Symfony is great!{% endtrans %}             new TransTokenParser(),

            // {% trans_default_domain "foobar" %}             new TransDefaultDomainTokenParser(),
        ];
    }

    public function getNodeVisitors(): array
    {
        return [$this->getTranslationNodeVisitor()new TranslationDefaultDomainNodeVisitor()];
    }

    public function getTranslationNodeVisitor(): TranslationNodeVisitor
    {
        return $this->translationNodeVisitor ?: $this->translationNodeVisitor = new TranslationNodeVisitor();
    }

    /** * @param array|string $arguments Can be the locale as a string when $message is a TranslatableInterface */
    public function trans(string|\Stringable|TranslatableInterface|null $message, array|string $arguments = [], string $domain = null, string $locale = null, int $count = null): string
    {
use Twig\Node\Node;

class TranslationDefaultDomainNodeVisitorTest extends TestCase
{
    private static string $message = 'message';
    private static string $domain = 'domain';

    /** @dataProvider getDefaultDomainAssignmentTestData */
    public function testDefaultDomainAssignment(Node $node)
    {
        $env = new Environment($this->createMock(LoaderInterface::class)['cache' => false, 'autoescape' => false, 'optimizations' => 0]);
        $visitor = new TranslationDefaultDomainNodeVisitor();

        // visit trans_default_domain tag         $defaultDomain = TwigNodeProvider::getTransDefaultDomainTag(self::$domain);
        $visitor->enterNode($defaultDomain$env);
        $visitor->leaveNode($defaultDomain$env);

        // visit tested node         $enteredNode = $visitor->enterNode($node$env);
        $leavedNode = $visitor->leaveNode($node$env);
        $this->assertSame($node$enteredNode);
        $this->assertSame($node$leavedNode);

        
Home | Imprint | This part of the site doesn't use cookies.