diff options
| -rw-r--r-- | content_scripts/link_hints.coffee | 20 | ||||
| -rw-r--r-- | tests/dom_tests/dom_tests.coffee | 32 | 
2 files changed, 27 insertions, 25 deletions
| diff --git a/content_scripts/link_hints.coffee b/content_scripts/link_hints.coffee index 31cdcfdf..81a5912e 100644 --- a/content_scripts/link_hints.coffee +++ b/content_scripts/link_hints.coffee @@ -19,6 +19,16 @@ OPEN_INCOGNITO = name: "incognito"  DOWNLOAD_LINK_URL = name: "download"  LinkHints = +  activateMode: (mode = OPEN_IN_CURRENT_TAB) -> new LinkHintsMode mode + +  activateModeToOpenInNewTab: -> @activateMode OPEN_IN_NEW_BG_TAB +  activateModeToOpenInNewForegroundTab: -> @activateMode OPEN_IN_NEW_FG_TAB +  activateModeToCopyLinkUrl: -> @activateMode COPY_LINK_URL +  activateModeWithQueue: -> @activateMode OPEN_WITH_QUEUE +  activateModeToOpenIncognito: -> @activateMode OPEN_INCOGNITO +  activateModeToDownloadLink: -> @activateMode DOWNLOAD_LINK_URL + +class LinkHintsMode    hintMarkerContainingDiv: null    # One of the enums listed at the top of this file.    mode: undefined @@ -35,15 +45,7 @@ LinkHints =    # A count of the number of Tab presses since the last non-Tab keyboard event.    tabCount: 0 -  # We need this as a top-level function because our command system doesn't yet support arguments. -  activateModeToOpenInNewTab: -> @activateMode(OPEN_IN_NEW_BG_TAB) -  activateModeToOpenInNewForegroundTab: -> @activateMode(OPEN_IN_NEW_FG_TAB) -  activateModeToCopyLinkUrl: -> @activateMode(COPY_LINK_URL) -  activateModeWithQueue: -> @activateMode(OPEN_WITH_QUEUE) -  activateModeToOpenIncognito: -> @activateMode(OPEN_INCOGNITO) -  activateModeToDownloadLink: -> @activateMode(DOWNLOAD_LINK_URL) - -  activateMode: (mode = OPEN_IN_CURRENT_TAB) -> +  constructor: (mode = OPEN_IN_CURRENT_TAB) ->      # we need documentElement to be ready in order to append links      return unless document.documentElement diff --git a/tests/dom_tests/dom_tests.coffee b/tests/dom_tests/dom_tests.coffee index 8f293075..dd2f5a5d 100644 --- a/tests/dom_tests/dom_tests.coffee +++ b/tests/dom_tests/dom_tests.coffee @@ -67,27 +67,27 @@ createGeneralHintTests = (isFilteredMode) ->        document.getElementById("test-div").innerHTML = ""      should "create hints when activated, discard them when deactivated", -> -      LinkHints.activateMode() -      assert.isFalse not LinkHints.hintMarkerContainingDiv? -      LinkHints.deactivateMode() -      assert.isTrue not LinkHints.hintMarkerContainingDiv? +      linkHints = LinkHints.activateMode() +      assert.isFalse not linkHints.hintMarkerContainingDiv? +      linkHints.deactivateMode() +      assert.isTrue not linkHints.hintMarkerContainingDiv?      should "position items correctly", ->        assertStartPosition = (element1, element2) ->          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.activateMode() +      linkHints = LinkHints.activateMode()        hintMarkers = getHintMarkers()        assertStartPosition document.getElementsByTagName("a")[0], hintMarkers[0]        assertStartPosition document.getElementsByTagName("a")[1], hintMarkers[1] -      LinkHints.deactivateMode() +      linkHints.deactivateMode()        stub document.body.style, "position", "relative" -      LinkHints.activateMode() +      linkHints = LinkHints.activateMode()        hintMarkers = getHintMarkers()        assertStartPosition document.getElementsByTagName("a")[0], hintMarkers[0]        assertStartPosition document.getElementsByTagName("a")[1], hintMarkers[1] -      LinkHints.deactivateMode() +      linkHints.deactivateMode()  createGeneralHintTests false  createGeneralHintTests true @@ -142,10 +142,10 @@ context "Alphabetical link hints",      # Three hints will trigger double hint chars.      createLinks 3 -    LinkHints.activateMode() +    @linkHints = LinkHints.activateMode()    tearDown -> -    LinkHints.deactivateMode() +    @linkHints.deactivateMode()      document.getElementById("test-div").innerHTML = ""    should "label the hints correctly", -> @@ -177,11 +177,11 @@ context "Filtered link hints",        initializeModeState()        testContent = "<a>test</a>" + "<a>tress</a>" + "<a>trait</a>" + "<a>track<img alt='alt text'/></a>"        document.getElementById("test-div").innerHTML = testContent -      LinkHints.activateMode() +      @linkHints = LinkHints.activateMode()      tearDown ->        document.getElementById("test-div").innerHTML = "" -      LinkHints.deactivateMode() +      @linkHints.deactivateMode()      should "label the hints", ->        hintMarkers = getHintMarkers() @@ -205,11 +205,11 @@ context "Filtered link hints",        testContent = "<a><img alt='alt text'/></a><a><img alt='alt text' title='some title'/></a>          <a><img title='some title'/></a>" + "<a><img src='' width='320px' height='100px'/></a>"        document.getElementById("test-div").innerHTML = testContent -      LinkHints.activateMode() +      @linkHints = LinkHints.activateMode()      tearDown ->        document.getElementById("test-div").innerHTML = "" -      LinkHints.deactivateMode() +      @linkHints.deactivateMode()      should "label the images", ->        hintMarkers = getHintMarkers() @@ -227,11 +227,11 @@ context "Filtered link hints",          <input type='text' id='test-input' value='some value'/>          <label for='test-input-2'/>a label: </label><input type='text' id='test-input-2' value='some value'/>"        document.getElementById("test-div").innerHTML = testContent -      LinkHints.activateMode() +      @linkHints = LinkHints.activateMode()      tearDown ->        document.getElementById("test-div").innerHTML = "" -      LinkHints.deactivateMode() +      @linkHints.deactivateMode()      should "label the input elements", ->        hintMarkers = getHintMarkers() | 
