diff options
| -rw-r--r-- | tests/dom_tests/dom_tests.coffee | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/dom_tests/dom_tests.coffee b/tests/dom_tests/dom_tests.coffee index 158112b3..ccb84fe0 100644 --- a/tests/dom_tests/dom_tests.coffee +++ b/tests/dom_tests/dom_tests.coffee @@ -1034,3 +1034,39 @@ context "SuppressAllKeyboardEvents", sendKeyboardEvent "a" assert.equal 0, pageKeyboardEventCount +context "GrabBackFocus", + setup -> + testContent = "<input type='text' value='some value' id='input'/>" + document.getElementById("test-div").innerHTML = testContent + stubSettings "grabBackFocus", true + + tearDown -> + document.getElementById("test-div").innerHTML = "" + + should "blur an already focused input", -> + document.getElementById("input").focus() + assert.isTrue document.activeElement + assert.isTrue DomUtils.isEditable document.activeElement + initializeModeState() + assert.isTrue document.activeElement + assert.isFalse DomUtils.isEditable document.activeElement + + should "blur a newly focused input", -> + initializeModeState() + document.getElementById("input").focus() + assert.isTrue document.activeElement + assert.isFalse DomUtils.isEditable document.activeElement + + should "exit on a key event", -> + initializeModeState() + sendKeyboardEvent "a" + document.getElementById("input").focus() + assert.isTrue document.activeElement + assert.isTrue DomUtils.isEditable document.activeElement + + should "exit on a mousedown event", -> + initializeModeState() + handlerStack.bubbleEvent "mousedown", target: document.body + document.getElementById("input").focus() + assert.isTrue document.activeElement + assert.isTrue DomUtils.isEditable document.activeElement |
