JGonera has uploaded a new change for review.
https://gerrit.wikimedia.org/r/60346
Change subject: Call error on unknown dependencies in mw.loader.using()
......................................................................
Call error on unknown dependencies in mw.loader.using()
Previously using would throw an error on unknown (not registered)
dependencies which doesn't seem correct as there is an error callback.
Bug: 47296
Change-Id: Ic2f81b725acac2086178e33033f10c4c80ae1573
---
M resources/mediawiki/mediawiki.js
M tests/qunit/suites/resources/mediawiki/mediawiki.test.js
2 files changed, 25 insertions(+), 1 deletion(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/46/60346/1
diff --git a/resources/mediawiki/mediawiki.js b/resources/mediawiki/mediawiki.js
index 6c7e697..3e23a3d 100644
--- a/resources/mediawiki/mediawiki.js
+++ b/resources/mediawiki/mediawiki.js
@@ -1436,7 +1436,15 @@
dependencies = [ dependencies ];
}
// Resolve entire dependency map
- dependencies = resolve( dependencies );
+ try {
+ dependencies = resolve(
dependencies );
+ } catch ( e ) {
+ // Execute error immediately on
unknown or circular dependencies
+ if ( $.isFunction( error ) ) {
+ error( e, dependencies
);
+ }
+ return;
+ }
if ( allReady( dependencies ) ) {
// Run ready immediately
if ( $.isFunction( ready ) ) {
diff --git a/tests/qunit/suites/resources/mediawiki/mediawiki.test.js
b/tests/qunit/suites/resources/mediawiki/mediawiki.test.js
index e338675..cc453a8 100644
--- a/tests/qunit/suites/resources/mediawiki/mediawiki.test.js
+++ b/tests/qunit/suites/resources/mediawiki/mediawiki.test.js
@@ -678,6 +678,22 @@
);
} );
+ QUnit.test( 'mw.loader unknown dependency', 1, function ( assert ) {
+ mw.loader.using(
+ 'test.module10',
+ function () {
+ assert.ok( false, 'Success fired despite
unknown dependency' );
+ },
+ function ( e, dependencies ) {
+ assert.deepEqual(
+ dependencies,
+ ['test.module10'],
+ 'Error callback called with the module
as a dependency'
+ );
+ }
+ );
+ } );
+
QUnit.asyncTest( 'mw.loader dependency handling', 5, function ( assert
) {
mw.loader.addSource(
'testloader',
--
To view, visit https://gerrit.wikimedia.org/r/60346
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic2f81b725acac2086178e33033f10c4c80ae1573
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: JGonera <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits