From a2fba970e089254adae2631a5b154e6bd92ec1e2 Mon Sep 17 00:00:00 2001 From: Stephen Blott Date: Wed, 30 Mar 2016 12:49:40 +0100 Subject: Add tests for GrabBackFocus. --- tests/dom_tests/dom_tests.coffee | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'tests') 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 = "" + 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 -- cgit v1.2.3