Merge "qunit: Move modules exclusively for $wgEnableJavaScriptTest to test registry"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Wed, 5 Feb 2014 23:22:18 +0000 (23:22 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Wed, 5 Feb 2014 23:22:18 +0000 (23:22 +0000)
includes/resourceloader/ResourceLoader.php
includes/specials/SpecialJavaScriptTest.php
resources/Resources.php
tests/qunit/QUnitTestResources.php
tests/qunit/data/testrunner.js

index b6c9cec..557c1f6 100644 (file)
@@ -289,7 +289,7 @@ class ResourceLoader {
 
                // Get core test suites
                $testModules = array();
-               $testModules['qunit'] = include "$IP/tests/qunit/QUnitTestResources.php";
+               $testModules['qunit'] = array();
                // Get other test suites (e.g. from extensions)
                wfRunHooks( 'ResourceLoaderTestModules', array( &$testModules, &$this ) );
 
@@ -300,9 +300,11 @@ class ResourceLoader {
                        // on document-ready, it will run once and finish. If some tests arrive
                        // later (possibly after QUnit has already finished) they will be ignored.
                        $module['position'] = 'top';
-                       $module['dependencies'][] = 'mediawiki.tests.qunit.testrunner';
+                       $module['dependencies'][] = 'test.mediawiki.qunit.testrunner';
                }
 
+               $testModules['qunit'] = ( include "$IP/tests/qunit/QUnitTestResources.php" ) + $testModules['qunit'];
+
                foreach ( $testModules as $id => $names ) {
                        // Register test modules
                        $this->register( $testModules[$id] );
index 57d314f..7982d5c 100644 (file)
@@ -139,7 +139,7 @@ class SpecialJavaScriptTest extends SpecialPage {
 
                $out = $this->getOutput();
 
-               $out->addModules( 'mediawiki.tests.qunit.testrunner' );
+               $out->addModules( 'test.mediawiki.qunit.testrunner' );
                $qunitTestModules = $out->getResourceLoader()->getTestModuleNames( 'qunit' );
                $out->addModules( $qunitTestModules );
 
index 394392c..a02459f 100644 (file)
@@ -1183,21 +1183,6 @@ return array(
                'styles' => 'resources/mediawiki.special/mediawiki.special.version.css',
        ),
 
-       /* MediaWiki Tests */
-
-       'mediawiki.tests.qunit.testrunner' => array(
-               'scripts' => 'tests/qunit/data/testrunner.js',
-               'dependencies' => array(
-                       'jquery.getAttrs',
-                       'jquery.qunit',
-                       'jquery.qunit.completenessTest',
-                       'mediawiki.page.startup',
-                       'mediawiki.page.ready',
-               ),
-               'position' => 'top',
-               'targets' => array( 'desktop', 'mobile' ),
-       ),
-
        /* MediaWiki Legacy */
 
        'mediawiki.legacy.ajax' => array(
index 0ec4932..bd240eb 100644 (file)
@@ -1,10 +1,32 @@
 <?php
 
+/* Modules registered when $wgEnableJavaScriptTest is true */
+
 return array(
 
-       /* Test suites for MediaWiki core modules */
+       /* Utilities */
+
+       'test.mediawiki.qunit.testrunner' => array(
+               'scripts' => array(
+                       'tests/qunit/data/testrunner.js',
+               ),
+               'dependencies' => array(
+                       'jquery.getAttrs',
+                       'jquery.qunit',
+                       'jquery.qunit.completenessTest',
+                       'mediawiki.page.ready',
+                       'mediawiki.page.startup',
+               ),
+               'position' => 'top',
+               'targets' => array( 'desktop', 'mobile' ),
+       ),
+
+       /*
+               Test suites for MediaWiki core modules
+               These must have a dependency on test.mediawiki.qunit.testrunner!
+       */
 
-       'mediawiki.tests.qunit.suites' => array(
+       'test.mediawiki.qunit.suites' => array(
                'scripts' => array(
                        'tests/qunit/suites/resources/startup.test.js',
                        'tests/qunit/suites/resources/jquery/jquery.autoEllipsis.test.js',
@@ -66,6 +88,7 @@ return array(
                        'mediawiki.special.recentchanges',
                        'mediawiki.language',
                        'mediawiki.cldr',
+                       'test.mediawiki.qunit.testrunner',
                ),
        )
 );
index 1a2bfa1..5bdd37f 100644 (file)
         * initializations defined above in this file.
         */
        envExecCount = 0;
-       QUnit.module( 'mediawiki.tests.qunit.testrunner', QUnit.newMwEnvironment( {
+       QUnit.module( 'test.mediawiki.qunit.testrunner', QUnit.newMwEnvironment( {
                setup: function () {
                        envExecCount += 1;
                        this.mwHtmlLive = mw.html;
 
        } );
 
-       QUnit.module( 'mediawiki.tests.qunit.testrunner-after', QUnit.newMwEnvironment() );
+       QUnit.module( 'test.mediawiki.qunit.testrunner-after', QUnit.newMwEnvironment() );
 
        QUnit.test( 'Teardown', 3, function ( assert ) {
                assert.equal( mw.html.escape( '<' ), '&lt;', 'extra teardown() callback was ran.' );