aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorStephen Blott2015-02-12 10:52:56 +0000
committerStephen Blott2015-02-12 11:50:34 +0000
commitffc49d3057daee2354fb77d939fffc0cf77ff2e1 (patch)
tree892b319ce3622f6dba517d21db619e6312e9f017 /tests
parent0ea060ca5b45acf42eb892cf900b8b7e04fc3397 (diff)
downloadvimium-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.coffee21
-rw-r--r--tests/dom_tests/dom_tests.coffee22
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