/**
* @var array Supported frameworks.
*/
- private static $frameworks = array(
+ private static $frameworks = [
'qunit',
- );
+ ];
public function __construct() {
parent::__construct( 'JavaScriptTest' );
// Custom actions
if ( isset( $pars[1] ) ) {
$action = $pars[1];
- if ( !in_array( $action, array( 'export', 'plain' ) ) ) {
+ if ( !in_array( $action, [ 'export', 'plain' ] ) ) {
$out->setStatusCode( 404 );
$out->addHTML(
'<div class="error">'
return;
}
- $out->addModules( 'mediawiki.special.javaScriptTest' );
-
$method = 'view' . ucfirst( $framework );
$this->$method();
$out->setPageTitle( $this->msg(
foreach ( self::$frameworks as $framework ) {
$list .= Html::rawElement(
'li',
- array(),
+ [],
Linker::link(
$this->getPageTitle( $framework ),
// Message: javascripttest-qunit-name
</div>
HTML;
- $out->addHtml( $this->getSummaryHtml() . $baseHtml );
+ $out->addHTML( $this->getSummaryHtml() . $baseHtml );
// The testrunner configures QUnit and essentially depends on it. However, test suites
// are reusable in environments that preload QUnit (or a compatibility interface to
// another framework). Therefore we have to load it ourselves.
- $out->addHtml( ResourceLoader::makeInlineScript(
- Xml::encodeJsCall( 'mw.loader.using', array(
- array( 'jquery.qunit', 'jquery.qunit.completenessTest' ),
+ $out->addHTML( ResourceLoader::makeInlineScript(
+ Xml::encodeJsCall( 'mw.loader.using', [
+ [ 'jquery.qunit', 'jquery.qunit.completenessTest' ],
new XmlJsCode(
- 'function () {' . Xml::encodeJsCall( 'mw.loader.load', array( $modules ) ) . '}'
+ 'function () {' . Xml::encodeJsCall( 'mw.loader.load', [ $modules ] ) . '}'
)
- ) )
+ ] )
) );
}
$rl = $out->getResourceLoader();
- $query = array(
+ $query = [
'lang' => $this->getLanguage()->getCode(),
'skin' => $this->getSkin()->getSkinName(),
'debug' => ResourceLoader::inDebugMode() ? 'true' : 'false',
'target' => 'test',
- );
+ ];
$embedContext = new ResourceLoaderContext( $rl, new FauxRequest( $query ) );
$query['only'] = 'scripts';
$startupContext = new ResourceLoaderContext( $rl, new FauxRequest( $query ) );
. '}';
// The below is essentially a pure-javascript version of OutputPage::getHeadScripts.
- $startup = $rl->makeModuleResponse( $startupContext, array(
+ $startup = $rl->makeModuleResponse( $startupContext, [
'startup' => $rl->getModule( 'startup' ),
- ) );
+ ] );
// Embed page-specific mw.config variables.
// The current Special page shouldn't be relevant to tests, but various modules (which
// are loaded before the test suites), reference mw.config while initialising.
$code = ResourceLoader::makeConfigSetScript( $out->getJSVars() );
// Embed private modules as they're not allowed to be loaded dynamically
- $code .= $rl->makeModuleResponse( $embedContext, array(
+ $code .= $rl->makeModuleResponse( $embedContext, [
'user.options' => $rl->getModule( 'user.options' ),
'user.tokens' => $rl->getModule( 'user.tokens' ),
- ) );
+ ] );
// Catch exceptions (such as "dependency missing" or "unknown module") so that we
// always start QUnit. Re-throw so that they are caught and reported as global exceptions
// by QUnit and Karma.
// load before qunit/export.
$scripts = $out->makeResourceLoaderLink( 'jquery.qunit',
ResourceLoaderModule::TYPE_SCRIPTS,
- array( 'raw' => true, 'sync' => true )
+ [ 'raw' => true, 'sync' => true ]
);
$head = implode( "\n", array_merge( $styles['html'], $scripts['html'] ) );
<div id="qunit"></div>
HTML;
- $url = $this->getPageTitle( 'qunit/export' )->getFullURL( array(
+ $url = $this->getPageTitle( 'qunit/export' )->getFullURL( [
'debug' => ResourceLoader::inDebugMode() ? 'true' : 'false',
- ) );
+ ] );
$html .= "\n" . Html::linkedScript( $url );
header( 'Content-Type: text/html; charset=utf-8' );