diff options
| author | Stephen Blott | 2016-03-30 12:49:40 +0100 | 
|---|---|---|
| committer | Stephen Blott | 2016-03-30 12:49:40 +0100 | 
| commit | a2fba970e089254adae2631a5b154e6bd92ec1e2 (patch) | |
| tree | ecdbf35236b300478789c01f179f13123ad918cd | |
| parent | 8fc46ff8b00ae82b574e3314ebc8ae6046c3215f (diff) | |
| download | vimium-a2fba970e089254adae2631a5b154e6bd92ec1e2.tar.bz2 | |
Add tests for GrabBackFocus.
| -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 | 
