8000 Add tests covering `trans_default_domain` with dynamic expressions · symfony/symfony@bc27721 · GitHub
[go: up one dir, main page]

Skip to content

Commit bc27721

Browse files
committed
Add tests covering trans_default_domain with dynamic expressions
1 parent caa1be7 commit bc27721

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

src/Symfony/Bridge/Twig/Tests/Extension/TranslationExtensionTest.php

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,68 @@ public function testDefaultTranslationDomainWithNamedArguments()
206206
$this->assertEquals('foo (custom)foo (foo)foo (custom)foo (custom)foo (fr)foo (custom)foo (fr)', trim($template->render([])));
207207
}
208208

209+
public function testDefaultTranslationDomainWithExpression()
210+
{
211+
$templates = [
212+
'index' => '
213+
{%- extends "base" %}
214+
215+
< 8000 span class=pl-s> {%- trans_default_domain custom_domain %}
216+
217+
{%- block content %}
218+
{{- "foo"|trans }}
219+
{%- endblock %}
220+
',
221+
222+
'base' => '
223+
{%- block content "" %}
224+
',
225+
];
226+
227+
$translator = new Translator('en');
228+
$translator->addLoader('array', new ArrayLoader());
229+
$translator->addResource('array', ['foo' => 'foo (messages)'], 'en');
230+
$translator->addResource('array', ['foo' => 'foo (custom)'], 'en', 'custom');
231+
$translator->addResource('array', ['foo' => 'foo (foo)'], 'en', 'foo');
232+
233+
$template = $this->getTemplate($templates, $translator);
234+
235+
$this->assertEquals('foo (foo)', trim($template->render(['custom_domain' => 'foo'])));
236+
}
237+
238+
public function testDefaultTranslationDomainWithExpressionAndInheritance()
239+
{
240+
$templates = [
241+
'index' => '
242+
{%- extends "base" %}
243+
244+
{%- trans_default_domain foo_domain %}
245+
246+
{%- block content %}
247+
{{- "foo"|trans }}
248+
{%- endblock %}
249+
',
250+
251+
'base' => '
252+
{%- trans_default_domain custom_domain %}
253+
254+
{{- "foo"|trans }}
255+
{%- block content "" %}
256+
{{- "foo"|trans }}
257+
',
258+
];
259+
260+
$translator = new Translator('en');
261+
$translator->addLoader('array', new ArrayLoader());
262+
$translator->addResource('array', ['foo' => 'foo (messages)'], 'en');
263+
$translator->addResource('array', ['foo' => 'foo (custom)'], 'en', 'custom');
264+
$translator->addResource('array', ['foo' => 'foo (foo)'], 'en', 'foo');
265+
266+
$template = $this->getTemplate($templates, $translator);
267+
268+
$this->assertEquals('foo (custom)foo (foo)foo (custom)', trim($template->render(['foo_domain' => 'foo', 'custom_domain' => 'custom'])));
269+
}
270+
209271
private function getTemplate($template, ?TranslatorInterface $translator = null): TemplateWrapper
210272
{
211273
$translator ??= new Translator('en');

0 commit comments

Comments
 (0)
0