summaryrefslogtreecommitdiff
path: root/tests/Unit/Helpers/Translation/GettextTranslatorTest.php
diff options
context:
space:
mode:
authormsquare <msquare@notrademark.de>2019-07-21 13:32:45 +0200
committerGitHub <noreply@github.com>2019-07-21 13:32:45 +0200
commitd4d4b409b6fd96ca297af323936b8922d45b6eda (patch)
tree6c8efa1a1e429f3965820838796cb4b97cd2df11 /tests/Unit/Helpers/Translation/GettextTranslatorTest.php
parentd5bf7fd065a5ea93dea9fd55e6ac225ee062a3db (diff)
parent51a3c6eb44a5dbdf9d7a3cfac678f0d29b0d3eef (diff)
Merge pull request #622 from MyIgel/controllers
AuthController (login, logout), use templating, replaced gettext, input validation
Diffstat (limited to 'tests/Unit/Helpers/Translation/GettextTranslatorTest.php')
-rw-r--r--tests/Unit/Helpers/Translation/GettextTranslatorTest.php67
1 files changed, 67 insertions, 0 deletions
diff --git a/tests/Unit/Helpers/Translation/GettextTranslatorTest.php b/tests/Unit/Helpers/Translation/GettextTranslatorTest.php
new file mode 100644
index 00000000..825cf5b7
--- /dev/null
+++ b/tests/Unit/Helpers/Translation/GettextTranslatorTest.php
@@ -0,0 +1,67 @@
+<?php
+
+namespace Engelsystem\Test\Unit\Helpers\Translation;
+
+use Engelsystem\Helpers\Translation\GettextTranslator;
+use Engelsystem\Helpers\Translation\TranslationNotFound;
+use Engelsystem\Test\Unit\ServiceProviderTest;
+use Gettext\Translation;
+use Gettext\Translations;
+
+class GettextTranslatorTest extends ServiceProviderTest
+{
+ /**
+ * @covers \Engelsystem\Helpers\Translation\GettextTranslator::assertHasTranslation()
+ */
+ public function testNoTranslation()
+ {
+ $translations = $this->getTranslations();
+
+ $translator = new GettextTranslator();
+ $translator->loadTranslations($translations);
+
+ $this->assertEquals('Translation!', $translator->gettext('test.value'));
+
+ $this->expectException(TranslationNotFound::class);
+ $this->expectExceptionMessage('//foo.bar');
+
+ $translator->gettext('foo.bar');
+ }
+
+ /**
+ * @covers \Engelsystem\Helpers\Translation\GettextTranslator::dpgettext()
+ */
+ public function testDpgettext()
+ {
+ $translations = $this->getTranslations();
+
+ $translator = new GettextTranslator();
+ $translator->loadTranslations($translations);
+
+ $this->assertEquals('Translation!', $translator->dpgettext(null, null, 'test.value'));
+ }
+
+ /**
+ * @covers \Engelsystem\Helpers\Translation\GettextTranslator::dnpgettext()
+ */
+ public function testDnpgettext()
+ {
+ $translations = $this->getTranslations();
+
+ $translator = new GettextTranslator();
+ $translator->loadTranslations($translations);
+
+ $this->assertEquals('Translations!', $translator->dnpgettext(null, null, 'test.value', 'test.values', 2));
+ }
+
+ protected function getTranslations(): Translations
+ {
+ $translations = new Translations();
+ $translations[] =
+ (new Translation(null, 'test.value', 'test.values'))
+ ->setTranslation('Translation!')
+ ->setPluralTranslations(['Translations!']);
+
+ return $translations;
+ }
+}