From 9fe22a3c72c64ae61c6b155efaeaa2e2125e199d Mon Sep 17 00:00:00 2001 From: Stephen Blott Date: Wed, 13 May 2015 11:14:35 +0100 Subject: Domain completer: no completions for "w ". If the input is "w ", the user is going for something like "w query terms" (a custom search engine). So the domain completer should not offer completions if the user has finished the first word. --- background_scripts/completion.coffee | 3 ++- tests/unit_tests/completion_test.coffee | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/background_scripts/completion.coffee b/background_scripts/completion.coffee index bf88f10e..db151bed 100644 --- a/background_scripts/completion.coffee +++ b/background_scripts/completion.coffee @@ -232,7 +232,8 @@ class DomainCompleter domains: null filter: ({ queryTerms, query }, onComplete) -> - return onComplete [] unless queryTerms.length == 1 and not /\s$/.test query + # Do not offer completions if the query is empty, or if the user has finished typing the first word. + return onComplete [] if queryTerms.length == 0 or /\S\s/.test query if @domains @performSearch(queryTerms, onComplete) else diff --git a/tests/unit_tests/completion_test.coffee b/tests/unit_tests/completion_test.coffee index 7711dac4..88df0a43 100644 --- a/tests/unit_tests/completion_test.coffee +++ b/tests/unit_tests/completion_test.coffee @@ -465,7 +465,7 @@ context "TabRecency", # A convenience wrapper around completer.filter() so it can be called synchronously in tests. filterCompleter = (completer, queryTerms) -> results = [] - completer.filter({ queryTerms }, (completionResults) -> results = completionResults) + completer.filter({ queryTerms, query: queryTerms.join " " }, (completionResults) -> results = completionResults) results hours = (n) -> 1000 * 60 * 60 * n -- cgit v1.2.3