diff options
| author | Phil Crosby | 2014-06-14 05:05:16 -0700 | 
|---|---|---|
| committer | Phil Crosby | 2014-06-14 05:05:16 -0700 | 
| commit | d674b10c38e1d9d6cf230391a23107ef53b82282 (patch) | |
| tree | 47c50bf7f2467e5a6b3b0564e5eec7a62129c108 /tests/unit_tests | |
| parent | f42690b1578de0b874048579354a17c251f567dd (diff) | |
| parent | a18ad484f2fdc0019c15d94405c915f8bfe6d76f (diff) | |
| download | vimium-d674b10c38e1d9d6cf230391a23107ef53b82282.tar.bz2 | |
Merge pull request #1058 from mijoharas/custom_search_engines
Custom search engines
Diffstat (limited to 'tests/unit_tests')
| -rw-r--r-- | tests/unit_tests/completion_test.coffee | 14 | ||||
| -rw-r--r-- | tests/unit_tests/settings_test.coffee | 9 | 
2 files changed, 23 insertions, 0 deletions
diff --git a/tests/unit_tests/completion_test.coffee b/tests/unit_tests/completion_test.coffee index 165bad46..02a741d5 100644 --- a/tests/unit_tests/completion_test.coffee +++ b/tests/unit_tests/completion_test.coffee @@ -229,6 +229,20 @@ 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" +    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 = Settings.getSearchEngines() + +  should "return search engine suggestion", -> +    results = filterCompleter(@completer, ["foo", "hello"]) +    assert.arrayEqual ["bar?q=hello"], results.map (result) -> result.url +    assert.arrayEqual ["foo: hello"], results.map (result) -> result.title +  context "suggestions",    should "escape html in page titles", ->      suggestion = new Suggestion(["queryterm"], "tab", "url", "title <span>", returns(1)) diff --git a/tests/unit_tests/settings_test.coffee b/tests/unit_tests/settings_test.coffee index 25bb3628..1283497c 100644 --- a/tests/unit_tests/settings_test.coffee +++ b/tests/unit_tests/settings_test.coffee @@ -70,5 +70,14 @@ 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 it has been parsed correctly", -> +    searchEngines = "foo: bar?q=%s\n# comment\nbaz: qux?q=%s" +    parsedSearchEngines = {"foo": "bar?q=%s", "baz": "qux?q=%s"} +    Settings.set 'searchEngines', searchEngines +    assert.equal(searchEngines, Settings.get('searchEngines')) +    result = Settings.getSearchEngines() +    assert.isTrue(parsedSearchEngines["foo"] == result["foo"] && +      parsedSearchEngines["baz"] == result["baz"] && Object.keys(result).length == 2) +    should "sync a key which is not a known setting (without crashing)", ->      chrome.storage.sync.set { notASetting: JSON.stringify("notAUsefullValue") }  | 
