diff options
| author | Stephen Blott | 2015-05-11 14:55:00 +0100 | 
|---|---|---|
| committer | Stephen Blott | 2015-05-11 14:55:00 +0100 | 
| commit | 104dc7ff2c88c7df9760c6ca35991d9c160bbb35 (patch) | |
| tree | ecf9af8cfc32756308f39e12d4c10df43304e143 /tests/unit_tests | |
| parent | 3503b5a510416e04449272a461e6765b7e7cd3f7 (diff) | |
| parent | 4ba12991a277d193969e87706facdba12fdee4d0 (diff) | |
| download | vimium-104dc7ff2c88c7df9760c6ca35991d9c160bbb35.tar.bz2 | |
Merge branch 'search-engine-completion-v5'
Diffstat (limited to 'tests/unit_tests')
| -rw-r--r-- | tests/unit_tests/completion_test.coffee | 52 | ||||
| -rw-r--r-- | tests/unit_tests/settings_test.coffee | 10 | 
2 files changed, 26 insertions, 36 deletions
| diff --git a/tests/unit_tests/completion_test.coffee b/tests/unit_tests/completion_test.coffee index 56fcc456..7711dac4 100644 --- a/tests/unit_tests/completion_test.coffee +++ b/tests/unit_tests/completion_test.coffee @@ -1,5 +1,6 @@  require "./test_helper.js"  extend(global, require "../../lib/utils.js") +extend(global, require "../../background_scripts/completion_engines.js")  extend(global, require "../../background_scripts/completion.js")  extend global, require "./test_chrome_stubs.js" @@ -235,44 +236,43 @@ context "tab completer",      assert.arrayEqual ["tab2.com"], results.map (tab) -> tab.url      assert.arrayEqual [2], results.map (tab) -> tab.tabId -context "search engines", -  setup -> -    searchEngines = "foo: bar?q=%s\n# comment\nbaz: qux?q=%s baz description" -    Settings.set 'searchEngines', searchEngines -    @completer = new SearchEngineCompleter() -    # note, I couldn't just call @completer.refresh() here as I couldn't set root.Settings without errors -    # workaround is below, would be good for someone that understands the testing system better than me to improve -    @completer.searchEngines = SearchEngineCompleter.getSearchEngines() - -  should "return search engine suggestion without description", -> -    results = filterCompleter(@completer, ["foo", "hello"]) -    assert.arrayEqual ["bar?q=hello"], results.map (result) -> result.url -    assert.arrayEqual ["foo: hello"], results.map (result) -> result.title -    assert.arrayEqual ["search"], results.map (result) -> result.type - -  should "return search engine suggestion with description", -> -    results = filterCompleter(@completer, ["baz", "hello"]) -    assert.arrayEqual ["qux?q=hello"], results.map (result) -> result.url -    assert.arrayEqual ["hello"], results.map (result) -> result.title -    assert.arrayEqual ["baz description"], results.map (result) -> result.type -  context "suggestions",    should "escape html in page titles", -> -    suggestion = new Suggestion(["queryterm"], "tab", "url", "title <span>", returns(1)) +    suggestion = new Suggestion +      queryTerms: ["queryterm"] +      type: "tab" +      url: "url" +      title: "title <span>" +      relevancyFunction: returns 1      assert.isTrue suggestion.generateHtml().indexOf("title <span>") >= 0    should "highlight query words", -> -    suggestion = new Suggestion(["ninj", "words"], "tab", "url", "ninjawords", returns(1)) +    suggestion = new Suggestion +      queryTerms: ["ninj", "words"] +      type: "tab" +      url: "url" +      title: "ninjawords" +      relevancyFunction: returns 1      expected = "<span class='vomnibarMatch'>ninj</span>a<span class='vomnibarMatch'>words</span>"      assert.isTrue suggestion.generateHtml().indexOf(expected) >= 0    should "highlight query words correctly when whey they overlap", -> -    suggestion = new Suggestion(["ninj", "jaword"], "tab", "url", "ninjawords", returns(1)) +    suggestion = new Suggestion +      queryTerms: ["ninj", "jaword"] +      type: "tab" +      url: "url" +      title: "ninjawords" +      relevancyFunction: returns 1      expected = "<span class='vomnibarMatch'>ninjaword</span>s"      assert.isTrue suggestion.generateHtml().indexOf(expected) >= 0    should "shorten urls", -> -    suggestion = new Suggestion(["queryterm"], "tab", "http://ninjawords.com", "ninjawords", returns(1)) +    suggestion = new Suggestion +      queryTerms: ["queryterm"] +      type: "tab" +      url: "http://ninjawords.com" +      title: "ninjawords" +      relevancyFunction: returns 1      assert.equal -1, suggestion.generateHtml().indexOf("http://ninjawords.com")  context "RankingUtils.wordRelevancy", @@ -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 }, (completionResults) -> results = completionResults)    results  hours = (n) -> 1000 * 60 * 60 * n diff --git a/tests/unit_tests/settings_test.coffee b/tests/unit_tests/settings_test.coffee index 346c98da..4cd20211 100644 --- a/tests/unit_tests/settings_test.coffee +++ b/tests/unit_tests/settings_test.coffee @@ -70,15 +70,5 @@ context "settings",      chrome.storage.sync.set { scrollStepSize: JSON.stringify(message) }      assert.equal message, Sync.message -  should "set search engines, retrieve them correctly and check that they have been parsed correctly", -> -    searchEngines = "foo: bar?q=%s\n# comment\nbaz: qux?q=%s baz description" -    Settings.set 'searchEngines', searchEngines -    result = SearchEngineCompleter.getSearchEngines() -    assert.equal Object.keys(result).length, 2 -    assert.equal "bar?q=%s", result["foo"].url -    assert.isFalse result["foo"].description -    assert.equal "qux?q=%s", result["baz"].url -    assert.equal "baz description", result["baz"].description -    should "sync a key which is not a known setting (without crashing)", ->      chrome.storage.sync.set { notASetting: JSON.stringify("notAUsefullValue") } | 
