Add basic tests for ULS' ResourceLoader modules

This is a starting point to increase the test coverage in this code
base.

Change-Id: I215713e928e9b55615afd17ccf7a7082ef559e01
This commit is contained in:
Thiemo Kreuz
2018-12-13 22:38:03 +01:00
committed by jenkins-bot
parent f97a4df3bc
commit 24559cd1af
3 changed files with 118 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
<?php
namespace UniversalLanguageSelector\Tests;
use ResourceLoaderULSJsonMessageModule;
/**
* @covers \ResourceLoaderULSJsonMessageModule
*
* @license GPL-2.0-or-later
* @author Thiemo Kreuz
*/
class ResourceLoaderULSJsonMessageModuleTest extends \PHPUnit\Framework\TestCase {
use \PHPUnit4And6Compat;
public function testAllReturnValues() {
$instance = new ResourceLoaderULSJsonMessageModule();
$context = $this->createMock( \ResourceLoaderContext::class );
$context->method( 'getLanguage' )
->willReturn( 'en' );
$this->assertContainsOnly( 'string', $instance->getDependencies(), 'dependencies' );
$this->assertContainsOnly( 'string', $instance->getTargets(), 'targets' );
$summary = $instance->getDefinitionSummary( $context );
$lastElement = end( $summary );
$this->assertArrayHasKey( 'fileHashes', $lastElement );
$this->assertContainsOnly( 'string', $lastElement['fileHashes'] );
$script = $instance->getScript( $context );
$this->assertStringStartsWith( 'mw.uls.loadLocalization("en",{"', $script );
}
}