diff options
| author | Stephen Blott | 2015-02-12 10:52:56 +0000 |
|---|---|---|
| committer | Stephen Blott | 2015-02-12 11:50:34 +0000 |
| commit | ffc49d3057daee2354fb77d939fffc0cf77ff2e1 (patch) | |
| tree | 892b319ce3622f6dba517d21db619e6312e9f017 /tests | |
| parent | 0ea060ca5b45acf42eb892cf900b8b7e04fc3397 (diff) | |
| download | vimium-ffc49d3057daee2354fb77d939fffc0cf77ff2e1.tar.bz2 | |
Grab back focus...
- add new option "GrabBackFocus"
- use chrome.storage.sync.get() to get option value
- avoid race conditions on load
- fix tests
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/dom_tests/chrome.coffee | 21 | ||||
| -rw-r--r-- | tests/dom_tests/dom_tests.coffee | 22 |
2 files changed, 22 insertions, 21 deletions
diff --git a/tests/dom_tests/chrome.coffee b/tests/dom_tests/chrome.coffee index 2e7c6a5a..d6c03fc1 100644 --- a/tests/dom_tests/chrome.coffee +++ b/tests/dom_tests/chrome.coffee @@ -7,26 +7,23 @@ root.chromeMessages = [] document.hasFocus = -> true -root.chrome = { - runtime: { - connect: -> { - onMessage: { +root.chrome = + runtime: + connect: -> + onMessage: addListener: -> - } - onDisconnect: { + onDisconnect: addListener: -> - } postMessage: -> - } - onMessage: { + onMessage: addListener: -> - } sendMessage: (message) -> chromeMessages.unshift message getManifest: -> getURL: (url) -> "../../#{url}" - } storage: local: get: -> set: -> -} + sync: + get: -> + set: -> diff --git a/tests/dom_tests/dom_tests.coffee b/tests/dom_tests/dom_tests.coffee index 11fbe11f..a1ca8723 100644 --- a/tests/dom_tests/dom_tests.coffee +++ b/tests/dom_tests/dom_tests.coffee @@ -354,24 +354,24 @@ context "Triggering insert mode", document.getElementById("test-div").innerHTML = "" should "trigger insert mode on focus of text input", -> - assert.isTrue Mode.top().name == "insert" and not Mode.top().isActive() + assert.isFalse InsertMode.permanentInstance.isActive() document.getElementById("first").focus() - assert.isTrue Mode.top().name == "insert" and Mode.top().isActive() + assert.isTrue InsertMode.permanentInstance.isActive() should "trigger insert mode on focus of password input", -> - assert.isTrue Mode.top().name == "insert" and not Mode.top().isActive() + assert.isFalse InsertMode.permanentInstance.isActive() document.getElementById("third").focus() - assert.isTrue Mode.top().name == "insert" and Mode.top().isActive() + assert.isTrue InsertMode.permanentInstance.isActive() should "trigger insert mode on focus of contentEditable elements", -> - assert.isTrue Mode.top().name == "insert" and not Mode.top().isActive() + assert.isFalse InsertMode.permanentInstance.isActive() document.getElementById("fourth").focus() - assert.isTrue Mode.top().name == "insert" and Mode.top().isActive() + assert.isTrue InsertMode.permanentInstance.isActive() should "not trigger insert mode on other elements", -> - assert.isTrue Mode.top().name == "insert" and not Mode.top().isActive() + assert.isFalse InsertMode.permanentInstance.isActive() document.getElementById("fifth").focus() - assert.isTrue Mode.top().name == "insert" and not Mode.top().isActive() + assert.isFalse InsertMode.permanentInstance.isActive() context "Mode utilities", setup -> @@ -454,6 +454,10 @@ context "PostFindMode", testContent = "<input type='text' id='first'/>" document.getElementById("test-div").innerHTML = testContent document.getElementById("first").focus() + # For these tests, we need to push GrabBackFocus out of the way. When it exits, it updates the badge, + # which interferes with event suppression within insert mode. This cannot happen in normal operation, + # because GrabBackFocus exits on the first keydown. + Mode.top().exit() @postFindMode = new PostFindMode tearDown -> @@ -466,7 +470,7 @@ context "PostFindMode", should "suppress unmapped printable keys", -> sendKeyboardEvent "m" - assert.equal pageKeyboardEventCount, 0 + assert.equal 0, pageKeyboardEventCount should "be deactivated on click events", -> handlerStack.bubbleEvent "click", target: document.activeElement |
