jenkins-bot has submitted this change and it was merged.

Change subject: resourceloader: Inverse hasOwn() check to fix require in debug 
mode
......................................................................


resourceloader: Inverse hasOwn() check to fix require in debug mode

Follows-up 94c1162400.

Makes require and module work in debug mode.

Bug: T108655
Change-Id: I68ea05a31d5bde530e5e80aeff076df6b9924bac
---
M resources/src/mediawiki/mediawiki.js
A tests/qunit/data/defineCallMwLoaderTestCallback.js
A tests/qunit/data/requireCallMwLoaderTestCallback.js
M tests/qunit/suites/resources/mediawiki/mediawiki.test.js
4 files changed, 24 insertions(+), 1 deletion(-)

Approvals:
  Krinkle: Looks good to me, approved
  Jdlrobson: Looks good to me, but someone else must approve
  jenkins-bot: Verified



diff --git a/resources/src/mediawiki/mediawiki.js 
b/resources/src/mediawiki/mediawiki.js
index f282db6..4aad2ba 100644
--- a/resources/src/mediawiki/mediawiki.js
+++ b/resources/src/mediawiki/mediawiki.js
@@ -1193,7 +1193,7 @@
                                var r = $.Deferred();
 
                                pendingRequests.push( function () {
-                                       if ( moduleName && !hasOwn.call( 
registry, moduleName ) ) {
+                                       if ( moduleName && hasOwn.call( 
registry, moduleName ) ) {
                                                window.require = 
mw.loader.require;
                                                window.module = registry[ 
moduleName ].module;
                                        }
diff --git a/tests/qunit/data/defineCallMwLoaderTestCallback.js 
b/tests/qunit/data/defineCallMwLoaderTestCallback.js
new file mode 100644
index 0000000..afd886c
--- /dev/null
+++ b/tests/qunit/data/defineCallMwLoaderTestCallback.js
@@ -0,0 +1 @@
+module.exports = 'Define worked.';
diff --git a/tests/qunit/data/requireCallMwLoaderTestCallback.js 
b/tests/qunit/data/requireCallMwLoaderTestCallback.js
new file mode 100644
index 0000000..8bc087b
--- /dev/null
+++ b/tests/qunit/data/requireCallMwLoaderTestCallback.js
@@ -0,0 +1,2 @@
+var x = require( 'test.require.define' );
+module.exports = 'Require worked.' + x;
diff --git a/tests/qunit/suites/resources/mediawiki/mediawiki.test.js 
b/tests/qunit/suites/resources/mediawiki/mediawiki.test.js
index ce4ea8b..dd43c55 100644
--- a/tests/qunit/suites/resources/mediawiki/mediawiki.test.js
+++ b/tests/qunit/suites/resources/mediawiki/mediawiki.test.js
@@ -1127,4 +1127,24 @@
                }, /is not loaded/, 'Requesting non-existent modules throws 
error.' );
        } );
 
+       QUnit.asyncTest( 'mw.loader require in debug mode', 1, function ( 
assert ) {
+               var path = mw.config.get( 'wgScriptPath' );
+               mw.loader.register( [
+                       [ 'test.require.define', '0' ],
+                       [ 'test.require.callback', '0', [ 'test.require.define' 
] ]
+               ] );
+               mw.loader.implement( 'test.require.callback', [ QUnit.fixurl( 
path + '/tests/qunit/data/requireCallMwLoaderTestCallback.js' ) ] );
+               mw.loader.implement( 'test.require.define', [ QUnit.fixurl( 
path + '/tests/qunit/data/defineCallMwLoaderTestCallback.js' ) ] );
+
+               mw.loader.using( 'test.require.callback', function () {
+                       QUnit.start();
+                       var exported = mw.loader.require( 
'test.require.callback' );
+                       assert.strictEqual( exported, 'Require worked.Define 
worked.',
+                               'module.exports worked in debug mode' );
+               }, function () {
+                       QUnit.start();
+                       assert.ok( false, 'Error callback fired while 
loader.using "test.require.callback" module' );
+               } );
+       } );
+
 }( mediaWiki, jQuery ) );

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I68ea05a31d5bde530e5e80aeff076df6b9924bac
Gerrit-PatchSet: 8
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <jrob...@wikimedia.org>
Gerrit-Reviewer: Edokter <er...@darcoury.nl>
Gerrit-Reviewer: Jack Phoenix <j...@countervandalism.net>
Gerrit-Reviewer: Jdlrobson <jrob...@wikimedia.org>
Gerrit-Reviewer: Krinkle <krinklem...@gmail.com>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to