From fe2e958ebbb4157d06a963ee8479ece7f2685c94 Mon Sep 17 00:00:00 2001 From: Stephen Blott Date: Sat, 12 Mar 2016 08:36:18 +0000 Subject: Golbal link hints; fic tests. --- content_scripts/link_hints.coffee | 4 ++-- tests/dom_tests/dom_tests.coffee | 22 +++++++++++++--------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/content_scripts/link_hints.coffee b/content_scripts/link_hints.coffee index 12c29dc2..7424b3f5 100644 --- a/content_scripts/link_hints.coffee +++ b/content_scripts/link_hints.coffee @@ -332,6 +332,7 @@ ClickableElements = # Generate a map of input element => label generateLabelMap: -> + @labelMap = {} labels = document.querySelectorAll("label") for label in labels forElement = label.getAttribute("for") @@ -564,7 +565,6 @@ class FilterHints @linkHintNumbers = Settings.get "linkHintNumbers" @hintKeystrokeQueue = [] @linkTextKeystrokeQueue = [] - @labelMap = {} @activeHintMarker = null # The regexp for splitting typed text and link texts. We split on sequences of non-word characters and # link-hint numbers. @@ -716,4 +716,4 @@ root = exports ? window root.LinkHints = LinkHints root.HintCoordinator = HintCoordinator # For tests: -root.AlphabetHints = AlphabetHints +extend root, {LinkHintsMode, ClickableElements, AlphabetHints} diff --git a/tests/dom_tests/dom_tests.coffee b/tests/dom_tests/dom_tests.coffee index 2311b768..656ba6b8 100644 --- a/tests/dom_tests/dom_tests.coffee +++ b/tests/dom_tests/dom_tests.coffee @@ -61,6 +61,9 @@ getHintMarkers = -> stubSettings = (key, value) -> stub Settings.cache, key, JSON.stringify value +HintCoordinator.sendMessage = (name, request = {}) -> HintCoordinator[name]? request; request +activateLinkHintsMode = -> HintCoordinator.activateLinkHintsMode HintCoordinator.getHints() + # # Generate tests that are common to both default and filtered # link hinting modes. @@ -81,7 +84,7 @@ createGeneralHintTests = (isFilteredMode) -> document.getElementById("test-div").innerHTML = "" should "create hints when activated, discard them when deactivated", -> - linkHints = LinkHints.activateMode() + linkHints = activateLinkHintsMode() assert.isFalse not linkHints.hintMarkerContainingDiv? linkHints.deactivateMode() assert.isTrue not linkHints.hintMarkerContainingDiv? @@ -91,13 +94,13 @@ createGeneralHintTests = (isFilteredMode) -> assert.equal element1.getClientRects()[0].left, element2.getClientRects()[0].left assert.equal element1.getClientRects()[0].top, element2.getClientRects()[0].top stub document.body, "style", "static" - linkHints = LinkHints.activateMode() + linkHints = activateLinkHintsMode() hintMarkers = getHintMarkers() assertStartPosition document.getElementsByTagName("a")[0], hintMarkers[0] assertStartPosition document.getElementsByTagName("a")[1], hintMarkers[1] linkHints.deactivateMode() stub document.body.style, "position", "relative" - linkHints = LinkHints.activateMode() + linkHints = activateLinkHintsMode() hintMarkers = getHintMarkers() assertStartPosition document.getElementsByTagName("a")[0], hintMarkers[0] assertStartPosition document.getElementsByTagName("a")[1], hintMarkers[1] @@ -143,8 +146,9 @@ context "Test link hints for focusing input elements correctly", input.addEventListener "focus", activeListener, false input.addEventListener "click", activeListener, false - LinkHints.activateMode() - [hint] = getHintMarkers().filter (hint) -> input == hint.clickableItem + activateLinkHintsMode() + [hint] = getHintMarkers().filter (hint) -> + input == HintCoordinator.getLocalHintMarker(hint.hint).element sendKeyboardEvent char for char in hint.hintString input.removeEventListener "focus", activeListener, false @@ -185,7 +189,7 @@ context "Alphabetical link hints", # Three hints will trigger double hint chars. createLinks 3 - @linkHints = LinkHints.activateMode() + @linkHints = activateLinkHintsMode() tearDown -> @linkHints.deactivateMode() @@ -233,7 +237,7 @@ context "Filtered link hints", initializeModeState() testContent = "test" + "tress" + "trait" + "trackalt text" document.getElementById("test-div").innerHTML = testContent - @linkHints = LinkHints.activateMode() + @linkHints = activateLinkHintsMode() tearDown -> document.getElementById("test-div").innerHTML = "" @@ -264,7 +268,7 @@ context "Filtered link hints", testContent = "alt textalt text " + "" document.getElementById("test-div").innerHTML = testContent - @linkHints = LinkHints.activateMode() + @linkHints = activateLinkHintsMode() tearDown -> document.getElementById("test-div").innerHTML = "" @@ -289,7 +293,7 @@ context "Filtered link hints", " document.getElementById("test-div").innerHTML = testContent - @linkHints = LinkHints.activateMode() + @linkHints = activateLinkHintsMode() tearDown -> document.getElementById("test-div").innerHTML = "" -- cgit v1.2.3