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

Change subject: entityselector caches and shows search results twice
......................................................................


entityselector caches and shows search results twice

Very easy: When the previous search result set did not had a continue
parameter, it impossible to append anything.

Bug: T109697
Change-Id: If12e00ec5949e07586363cf8d6d172569fd85715
---
M view/resources/jquery/wikibase/jquery.wikibase.entityselector.js
M view/tests/qunit/jquery/wikibase/jquery.wikibase.entityselector.tests.js
2 files changed, 24 insertions(+), 1 deletion(-)

Approvals:
  Adrian Heine: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/view/resources/jquery/wikibase/jquery.wikibase.entityselector.js 
b/view/resources/jquery/wikibase/jquery.wikibase.entityselector.js
index 4e708ab..509efa5 100644
--- a/view/resources/jquery/wikibase/jquery.wikibase.entityselector.js
+++ b/view/resources/jquery/wikibase/jquery.wikibase.entityselector.js
@@ -393,7 +393,7 @@
                .then( function( suggestions, searchTerm, nextSuggestionOffset 
) {
                        var deferred = $.Deferred();
 
-                       if ( self._cache[searchTerm] ) {
+                       if ( self._cache[searchTerm] && 
self._cache[searchTerm].nextSuggestionOffset ) {
                                self._cache[searchTerm].suggestions = 
self._cache[searchTerm].suggestions.concat( suggestions );
                                self._cache[searchTerm].nextSuggestionOffset = 
nextSuggestionOffset;
                        } else {
diff --git 
a/view/tests/qunit/jquery/wikibase/jquery.wikibase.entityselector.tests.js 
b/view/tests/qunit/jquery/wikibase/jquery.wikibase.entityselector.tests.js
index a9801d2..88cc60a 100644
--- a/view/tests/qunit/jquery/wikibase/jquery.wikibase.entityselector.tests.js
+++ b/view/tests/qunit/jquery/wikibase/jquery.wikibase.entityselector.tests.js
@@ -126,4 +126,27 @@
                );
        } );
 
+       QUnit.test( 'Cache invalidation of small (not continued) search 
results', function( assert ) {
+               assert.expect( 2 );
+
+               var $entitySelector = newTestEntitySelector( {
+                               source: function() {
+                                       return $.Deferred().resolve( [ 'Alpha' 
] ).promise();
+                               }
+                       } ),
+                       entitySelector = $entitySelector.data( 'entityselector' 
);
+
+               QUnit.stop();
+
+               entitySelector._getSuggestions().then( function( suggestions ) {
+                       assert.deepEqual( suggestions, [ 'Alpha' ], 'should 
cache' );
+
+                       return entitySelector._getSuggestions();
+               } ).done( function( suggestions, term ) {
+                       assert.deepEqual( suggestions, [ 'Alpha' ], 'should not 
concat on existing cache' );
+
+                       QUnit.start();
+               } );
+       } );
+
 }( jQuery, QUnit ) );

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

Gerrit-MessageType: merged
Gerrit-Change-Id: If12e00ec5949e07586363cf8d6d172569fd85715
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Thiemo Mättig (WMDE) <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Adrian Heine <[email protected]>
Gerrit-Reviewer: Jonas Kress (WMDE) <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to