diff options
| author | Stephen Blott | 2014-11-09 06:29:25 +0000 |
|---|---|---|
| committer | Stephen Blott | 2014-11-09 06:29:25 +0000 |
| commit | 2687fbe835e447beb875f399c4c150dfe919535e (patch) | |
| tree | bd96e8ba0d48e2f34b27199965854a0f8e99d22e /tests/unit_tests | |
| parent | 3d647c9d062a84082d0337ac0b0004d31eb64969 (diff) | |
| parent | 5492249ba4f36e40c8dcb4eff9916fa29bf0f94a (diff) | |
| download | vimium-2687fbe835e447beb875f399c4c150dfe919535e.tar.bz2 | |
Merge pull request #1231 from smblott-github/tabs-order
Tabs order; order tabs by recency for empty searches.
Diffstat (limited to 'tests/unit_tests')
| -rw-r--r-- | tests/unit_tests/completion_test.coffee | 42 | ||||
| -rw-r--r-- | tests/unit_tests/test_chrome_stubs.coffee | 4 |
2 files changed, 45 insertions, 1 deletions
diff --git a/tests/unit_tests/completion_test.coffee b/tests/unit_tests/completion_test.coffee index 44989267..88f59b7e 100644 --- a/tests/unit_tests/completion_test.coffee +++ b/tests/unit_tests/completion_test.coffee @@ -1,8 +1,8 @@ require "./test_helper.js" extend(global, require "../../lib/utils.js") extend(global, require "../../background_scripts/completion.js") +extend global, require "./test_chrome_stubs.js" -global.chrome = {} global.document = createElement: -> {} @@ -399,6 +399,46 @@ context "RegexpCache", should "search for a string with a prefix/suffix (negative case)", -> assert.isTrue "hound dog".search(RegexpCache.get("do", "\\b", "\\b")) == -1 +context "TabRecency", + setup -> + @tabRecency = new TabRecency() + @tabRecency.add 3 + @tabRecency.add 2 + @tabRecency.add 9 + @tabRecency.add 1 + @tabRecency.remove 9 + @tabRecency.add 4 + + should "have entries for active tabs", -> + assert.isTrue @tabRecency.cache[1] + assert.isTrue @tabRecency.cache[2] + assert.isTrue @tabRecency.cache[3] + assert.isTrue @tabRecency.cache[4] + + should "not have entries for removed tabs", -> + assert.isFalse @tabRecency.cache[9] + + should "give a high score to the most recent tab", -> + assert.isTrue @tabRecency.recencyScore(4) < @tabRecency.recencyScore 1 + assert.isTrue @tabRecency.recencyScore(3) < @tabRecency.recencyScore 1 + assert.isTrue @tabRecency.recencyScore(2) < @tabRecency.recencyScore 1 + + should "give a low score to the current tab", -> + assert.isTrue @tabRecency.recencyScore(1) > @tabRecency.recencyScore 4 + assert.isTrue @tabRecency.recencyScore(2) > @tabRecency.recencyScore 4 + assert.isTrue @tabRecency.recencyScore(3) > @tabRecency.recencyScore 4 + + should "rank tabs by recency", -> + assert.isTrue @tabRecency.recencyScore(3) < @tabRecency.recencyScore 2 + assert.isTrue @tabRecency.recencyScore(2) < @tabRecency.recencyScore 1 + @tabRecency.add 3 + @tabRecency.add 4 # Making 3 the most recent tab which isn't the current tab. + assert.isTrue @tabRecency.recencyScore(1) < @tabRecency.recencyScore 3 + assert.isTrue @tabRecency.recencyScore(2) < @tabRecency.recencyScore 3 + assert.isTrue @tabRecency.recencyScore(4) < @tabRecency.recencyScore 3 + assert.isTrue @tabRecency.recencyScore(4) < @tabRecency.recencyScore 1 + assert.isTrue @tabRecency.recencyScore(4) < @tabRecency.recencyScore 2 + # A convenience wrapper around completer.filter() so it can be called synchronously in tests. filterCompleter = (completer, queryTerms) -> results = [] diff --git a/tests/unit_tests/test_chrome_stubs.coffee b/tests/unit_tests/test_chrome_stubs.coffee index 2abd26c9..80750337 100644 --- a/tests/unit_tests/test_chrome_stubs.coffee +++ b/tests/unit_tests/test_chrome_stubs.coffee @@ -30,6 +30,10 @@ exports.chrome = addListener: () -> true onActiveChanged: addListener: () -> true + onActivated: + addListener: () -> true + onReplaced: + addListener: () -> true query: () -> true windows: |
