summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/UniversalLanguageSelector/tests/phpunit/ULSJsonMessageLoaderTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/UniversalLanguageSelector/tests/phpunit/ULSJsonMessageLoaderTest.php')
-rw-r--r--www/wiki/extensions/UniversalLanguageSelector/tests/phpunit/ULSJsonMessageLoaderTest.php54
1 files changed, 54 insertions, 0 deletions
diff --git a/www/wiki/extensions/UniversalLanguageSelector/tests/phpunit/ULSJsonMessageLoaderTest.php b/www/wiki/extensions/UniversalLanguageSelector/tests/phpunit/ULSJsonMessageLoaderTest.php
new file mode 100644
index 00000000..9cec98ae
--- /dev/null
+++ b/www/wiki/extensions/UniversalLanguageSelector/tests/phpunit/ULSJsonMessageLoaderTest.php
@@ -0,0 +1,54 @@
+<?php
+
+namespace UniversalLanguageSelector\Tests;
+
+use ULSJsonMessageLoader;
+
+/**
+ * @covers \ULSJsonMessageLoader
+ *
+ * @license GPL-2.0-or-later
+ * @author Thiemo Kreuz
+ */
+class ULSJsonMessageLoaderTest extends \PHPUnit\Framework\TestCase {
+ use \PHPUnit4And6Compat;
+
+ public function testGetFilenamesWithBadInput() {
+ $instance = new ULSJsonMessageLoader();
+
+ $this->setExpectedException( \Exception::class );
+ $instance->getFilenames( null );
+ }
+
+ public function testGetMessagesWithBadInput() {
+ $instance = new ULSJsonMessageLoader();
+
+ $this->setExpectedException( \Exception::class );
+ $instance->getMessages( null );
+ }
+
+ public function testWithInvalidLanguageCode() {
+ $instance = new ULSJsonMessageLoader();
+ $languageCode = '0';
+
+ $filenames = $instance->getFilenames( $languageCode );
+ $this->assertSame( [], $filenames );
+
+ $messages = $instance->getMessages( $languageCode );
+ $this->assertSame( [], $messages );
+ }
+
+ public function testWithValidLanguageCode() {
+ $instance = new ULSJsonMessageLoader();
+ $languageCode = 'en';
+
+ $filenames = $instance->getFilenames( $languageCode );
+ $this->assertContainsOnly( 'string', $filenames );
+
+ $messages = $instance->getMessages( $languageCode );
+ unset( $messages['@metadata'] );
+ $this->assertContainsOnly( 'string', array_keys( $messages ) );
+ $this->assertContainsOnly( 'string', $messages );
+ }
+
+}