Files
mediawiki-extensions-Univer…/tests/phpunit/ULSJsonMessageLoaderTest.php
Thiemo Kreuz 24559cd1af Add basic tests for ULS' ResourceLoader modules
This is a starting point to increase the test coverage in this code
base.

Change-Id: I215713e928e9b55615afd17ccf7a7082ef559e01
2018-12-22 00:00:00 +00:00

55 lines
1.4 KiB
PHP

<?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( \MWException::class );
$instance->getFilenames( null );
}
public function testGetMessagesWithBadInput() {
$instance = new ULSJsonMessageLoader();
$this->setExpectedException( \MWException::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 );
}
}