diff --git a/app/javascript/src/javascripts/autocomplete.js.erb b/app/javascript/src/javascripts/autocomplete.js.erb index 05361d383..c4a07a83e 100644 --- a/app/javascript/src/javascripts/autocomplete.js.erb +++ b/app/javascript/src/javascripts/autocomplete.js.erb @@ -98,11 +98,6 @@ Autocomplete.initialize_tag_autocomplete = function() { var metatag = query.metatag; var term = query.term; - if (!metatag && !term) { - this.close(); - return; - } - switch (metatag) { case "order": case "status": @@ -244,6 +239,11 @@ Autocomplete.initialize_wiki_autocomplete = function($fields) { }; Autocomplete.normal_source = function(term, resp) { + if (term === "") { + resp([]); + return; + } + return $.ajax({ url: "/tags/autocomplete.json", data: { diff --git a/test/system/autocomplete_test.rb b/test/system/autocomplete_test.rb index 6877b33e9..311ad9103 100644 --- a/test/system/autocomplete_test.rb +++ b/test/system/autocomplete_test.rb @@ -8,6 +8,7 @@ class AutocompleteTest < ApplicationSystemTestCase def assert_autocomplete_equals(expected_results, text, id:) autocomplete(id, text) + sleep 1 if expected_results.empty? assert_selector 'ul.ui-autocomplete li', count: expected_results.size expected_results.each do |result| @@ -102,6 +103,11 @@ class AutocompleteTest < ApplicationSystemTestCase assert_search_autocomplete_equals([], "one two") end + should "not complete tags after a space" do + create(:tag, name: "bkub", post_count: 42) + assert_search_autocomplete_equals([], "bkub ") + end + should "correct invalid operator combinations" do create(:tag, name: "bkub", post_count: 42)