From 188549ad122c658681556999388cd1394bc6eb20 Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Tue, 25 Oct 2016 03:09:07 +0100 Subject: [PATCH] mw.loader: Fix off-by-one error in splitModuleKey() Follows-up 45bec76. This caused most localStorage cache entries from mw.loader.store to be ignored because it'd store tje source code with a version string that wrongly started with an "@". As such, on the next page view, when comparing against the version string from the startup manifest, it would mismatch and eventually be pruned by mw.loader.store. Change-Id: If14c80989c0bb28b7b209abe89f83d585c563987 --- resources/src/mediawiki/mediawiki.js | 2 +- tests/qunit/suites/resources/mediawiki/mediawiki.loader.test.js | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/resources/src/mediawiki/mediawiki.js b/resources/src/mediawiki/mediawiki.js index 6b234399d4..484930a007 100644 --- a/resources/src/mediawiki/mediawiki.js +++ b/resources/src/mediawiki/mediawiki.js @@ -1725,7 +1725,7 @@ } return { name: key.slice( 0, index ), - version: key.slice( index ) + version: key.slice( index + 1 ) }; } diff --git a/tests/qunit/suites/resources/mediawiki/mediawiki.loader.test.js b/tests/qunit/suites/resources/mediawiki/mediawiki.loader.test.js index bfac513cf3..7233a2ed7d 100644 --- a/tests/qunit/suites/resources/mediawiki/mediawiki.loader.test.js +++ b/tests/qunit/suites/resources/mediawiki/mediawiki.loader.test.js @@ -639,6 +639,8 @@ return mw.loader.using( 'test.stale' ) .then( function () { assert.strictEqual( count, 1 ); + // After implementing, registry contains version as implemented by the response. + assert.strictEqual( mw.loader.getVersion( 'test.stale' ), 'v1', 'Override version' ); assert.strictEqual( mw.loader.getState( 'test.stale' ), 'ready' ); assert.ok( mw.loader.store.get( 'test.stale' ), 'In store' ); } ) -- 2.20.1