Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2a18f0c

Browse files
author
Tomasz Kusy
committed
Fix TranslationTrait #44350 - tests
1 parent 9250a7a commit 2a18f0c

File tree

1 file changed

+77
-0
lines changed

1 file changed

+77
-0
lines changed

src/Symfony/Component/Translation/Tests/Command/TranslationPullCommandTest.php

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -424,6 +424,83 @@ public function testPullMessagesWithDefaultLocale()
424424
, file_get_contents($filenameFr));
425425
}
426426

427+
public function testPullMessagesMultipleDomains()
428+
{
429+
$arrayLoader = new ArrayLoader();
430+
$filenameMessages = $this->createFile(['note' => 'NOTE']);
431+
$filenameDomain = $this->createFile(['note' => 'NOTE'], 'en', 'domain.%locale%.xlf');
432+
$locales = ['en'];
433+
$domains = ['messages', 'domain'];
434+
435+
$providerReadTranslatorBag = new TranslatorBag();
436+
$providerReadTranslatorBag->addCatalogue($arrayLoader->load([
437+
'new.foo' => 'newFoo',
438+
], 'en'));
439+
440+
$providerReadTranslatorBag->addCatalogue($arrayLoader->load([
441+
'new.foo' => 'newFoo',
442+
], 'en',
443+
'domain'
444+
));
445+
446+
$provider = $this->createMock(ProviderInterface::class);
447+
$provider->expects($this->once())
448+
->method('read')
449+
->with($domains, $locales)
450+
->willReturn($providerReadTranslatorBag);
451+
452+
$provider->expects($this->once())
453+
->method('__toString')
454+
->willReturn('null://default');
455+
456+
$tester = $this->createCommandTester($provider, $locales, $domains, 'en');
457+
$tester->execute(['--locales' => ['en'], '--domains' => ['messages', 'domain']]);
458+
459+
$this->assertStringContainsString('[OK] New translations from "null" has been written locally (for "en" locale(s), and "messages, domain" domain(s)).', trim($tester->getDisplay()));
460+
$this->assertXmlStringEqualsXmlString(<<<XLIFF
461+
<?xml version="1.0"?>
462+
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
463+
<file source-language="en" target-language="en" datatype="plaintext" original="file.ext">
464+
<header>
465+
<tool tool-id="symfony" tool-name="Symfony"/>
466+
</header>
467+
<body>
468+
<trans-unit id="994ixRL" resname="new.foo">
469+
<source>new.foo</source>
470+
<target>newFoo</target>
471+
</trans-unit>
472+
<trans-unit id="7bRlYkK" resname="note">
473+
<source>note</source>
474+
<target>NOTE</target>
475+
</trans-unit>
476+
</body>
477+
</file>
478+
</xliff>
479+
XLIFF
480+
, file_get_contents($filenameMessages));
481+
$this->assertXmlStringEqualsXmlString(<<<XLIFF
482+
<?xml version="1.0"?>
483+
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
484+
<file source-language="en" target-language="en" datatype="plaintext" original="file.ext">
485+
<header>
486+
<tool tool-id="symfony" tool-name="Symfony"/>
487+
</header>
488+
<body>
489+
<trans-unit id="994ixRL" resname="new.foo">
490+
<source>new.foo</source>
491+
<target>newFoo</target>
492+
</trans-unit>
493+
<trans-unit id="7bRlYkK" resname="note">
494+
<source>note</source>
495+
<target>NOTE</target>
496+
</trans-unit>
497+
</body>
498+
</file>
499+
</xliff>
500+
XLIFF
501+
, file_get_contents($filenameDomain));
502+
}
503+
427504
private function createCommandTester(ProviderInterface $provider, array $locales = ['en'], array $domains = ['messages'], $defaultLocale = 'en'): CommandTester
428505
{
429506
$writer = new TranslationWriter();

0 commit comments

Comments
 (0)