Jdlrobson has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/80148


Change subject: Fix various Qunit tests
......................................................................

Fix various Qunit tests

These appear to be due to recent changes introducing tap and
assertMode functions

Note there are still 3 tests failing in debug mode to do with overlays

Change-Id: I7ec5914168d81f532a93ce2ac4cd581e26b65eb6
---
M includes/MobileFrontend.hooks.php
M includes/skins/SkinMobile.php
M javascripts/common/application.js
M javascripts/externals/micro.tap.js
M tests/javascripts/common/test_Overlay.js
M tests/javascripts/fixtures.js
M tests/javascripts/modules/test_mf-toggle.js
7 files changed, 8 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend 
refs/changes/48/80148/1

diff --git a/includes/MobileFrontend.hooks.php 
b/includes/MobileFrontend.hooks.php
index 0a61777..51fdeef 100644
--- a/includes/MobileFrontend.hooks.php
+++ b/includes/MobileFrontend.hooks.php
@@ -82,7 +82,9 @@
                        $skinName = $wgMFDefaultSkinClass;
                        $betaSkinName = $skinName . 'Beta';
                        $alphaSkinName = $skinName . 'Alpha';
-                       if ( $mobileContext->isAlphaGroupMember() && 
class_exists( $alphaSkinName ) ) {
+                       // Force alpha for test mode to sure all modules can run
+                       $inTestMode = $context->getTitle()->getText() === 
'JavaScriptTest/qunit' ? true : false;
+                       if ( ( $mobileContext->isAlphaGroupMember() || 
$inTestMode ) && class_exists( $alphaSkinName ) ) {
                                $skinName = $alphaSkinName;
                        } else if ( $mobileContext->isBetaGroupMember() && 
class_exists( $betaSkinName ) ) {
                                $skinName = $betaSkinName;
diff --git a/includes/skins/SkinMobile.php b/includes/skins/SkinMobile.php
index 1d70f55..d01e84a 100644
--- a/includes/skins/SkinMobile.php
+++ b/includes/skins/SkinMobile.php
@@ -105,6 +105,7 @@
                );
                $vars = parent::getSkinConfigVariables();
                $vars['wgUseFormatCookie'] = $wgUseFormatCookie;
+               $vars['wgMFMode'] = $this->getMode();
                return $vars;
        }
 
diff --git a/javascripts/common/application.js 
b/javascripts/common/application.js
index 1a427b2..10aa2de 100644
--- a/javascripts/common/application.js
+++ b/javascripts/common/application.js
@@ -107,6 +107,7 @@
                } else {
                        mode = $body.hasClass( 'beta' ) ? 'beta' : 'stable';
                }
+               // FIXME: To remove. We currently set it here as well in case 
it is not in the raw HTML due to a caching problem
                mw.config.set( 'wgMFMode', mode );
 
                $doc.removeClass( 'page-loading' ); // FIXME: Kill with fire. 
This is here for historic reasons in case old HTML is cached
diff --git a/javascripts/externals/micro.tap.js 
b/javascripts/externals/micro.tap.js
index 2468538..4114502 100644
--- a/javascripts/externals/micro.tap.js
+++ b/javascripts/externals/micro.tap.js
@@ -13,7 +13,7 @@
 
   // FIXME: jQuery's on() doesn't allow useCapture argument (last argument, 
true)
   window.addEventListener('click', function(ev) {
-    if (tapEv.isDefaultPrevented()) {
+    if (tapEv && tapEv.isDefaultPrevented()) {
       ev.stopPropagation();
       ev.preventDefault();
     }
diff --git a/tests/javascripts/common/test_Overlay.js 
b/tests/javascripts/common/test_Overlay.js
index 6638434..a216fbb 100644
--- a/tests/javascripts/common/test_Overlay.js
+++ b/tests/javascripts/common/test_Overlay.js
@@ -38,7 +38,7 @@
                'The first overlay is no longer in the DOM' );
 
        // now close the top stacked one...
-       overlayTwo.$( '.cancel' ).trigger( 'click' );
+       overlayTwo.$( '.cancel' ).trigger( 'tap' );
        strictEqual( overlayTwo.$el[0].parentNode, null, 'No longer in DOM' );
        strictEqual( overlay.$el[0].parentNode, document.body, 'Still in DOM' );
        strictEqual( $( 'html' ).hasClass( 'overlay-enabled' ), true, 'Still in 
overlay mode' );
diff --git a/tests/javascripts/fixtures.js b/tests/javascripts/fixtures.js
index 31de835..e0bada5 100644
--- a/tests/javascripts/fixtures.js
+++ b/tests/javascripts/fixtures.js
@@ -1,4 +1,2 @@
 // turn sinon into a global
 window.sinon = sinon;
-// force alpha so all code passes M.assert
-mw.config.set( 'wgMFMode', 'alpha' );
diff --git a/tests/javascripts/modules/test_mf-toggle.js 
b/tests/javascripts/modules/test_mf-toggle.js
index 6082707..5e2be35 100644
--- a/tests/javascripts/modules/test_mf-toggle.js
+++ b/tests/javascripts/modules/test_mf-toggle.js
@@ -55,7 +55,7 @@
 
 QUnit.test( 'clicking a heading toggles it', 2, function() {
        var visibilityStart = $("#content_2").hasClass("openSection");
-       $( '#section_2' ).trigger( 'mouseup' );
+       $( '#section_2' ).trigger( 'tap' );
        strictEqual(visibilityStart, false, "check content is hidden at start");
        strictEqual($("#content_2").hasClass("openSection"), true, "check 
content is shown on a toggle");
 });

-- 
To view, visit https://gerrit.wikimedia.org/r/80148
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7ec5914168d81f532a93ce2ac4cd581e26b65eb6
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to