diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/dom_tests/dom_tests.coffee | 26 | ||||
| -rw-r--r-- | tests/dom_tests/dom_tests.html | 1 | ||||
| -rw-r--r-- | tests/unit_tests/commands_test.coffee | 22 | ||||
| -rw-r--r-- | tests/unit_tests/utils_test.coffee | 20 |
4 files changed, 33 insertions, 36 deletions
diff --git a/tests/dom_tests/dom_tests.coffee b/tests/dom_tests/dom_tests.coffee index a5c85606..6e422d46 100644 --- a/tests/dom_tests/dom_tests.coffee +++ b/tests/dom_tests/dom_tests.coffee @@ -436,29 +436,29 @@ context "Input focus", document.getElementById("test-div").innerHTML = "" should "focus the first element", -> - focusInput 1 + NormalModeCommands.focusInput 1 assert.equal "first", document.activeElement.id should "focus the nth element", -> - focusInput 100 + NormalModeCommands.focusInput 100 assert.equal "third", document.activeElement.id should "activate insert mode on the first element", -> - focusInput 1 + NormalModeCommands.focusInput 1 assert.isTrue InsertMode.permanentInstance.isActive() should "activate insert mode on the first element", -> - focusInput 100 + NormalModeCommands.focusInput 100 assert.isTrue InsertMode.permanentInstance.isActive() should "activate the most recently-selected input if the count is 1", -> - focusInput 3 - focusInput 1 + NormalModeCommands.focusInput 3 + NormalModeCommands.focusInput 1 assert.equal "third", document.activeElement.id should "not trigger insert if there are no inputs", -> document.getElementById("test-div").innerHTML = "" - focusInput 1 + NormalModeCommands.focusInput 1 assert.isFalse InsertMode.permanentInstance.isActive() # TODO: these find prev/next link tests could be refactored into unit tests which invoke a function which has @@ -479,7 +479,7 @@ context "Find prev / next links", <a href='#second'>next page</a> """ stubSettings "nextPatterns", "next" - goNext() + NormalModeCommands.goNext() assert.equal '#second', window.location.hash should "match against non-word patterns", -> @@ -487,7 +487,7 @@ context "Find prev / next links", <a href='#first'>>></a> """ stubSettings "nextPatterns", ">>" - goNext() + NormalModeCommands.goNext() assert.equal '#first', window.location.hash should "favor matches with fewer words", -> @@ -496,14 +496,14 @@ context "Find prev / next links", <a href='#second'>next!</a> """ stubSettings "nextPatterns", "next" - goNext() + NormalModeCommands.goNext() assert.equal '#second', window.location.hash should "find link relation in header", -> document.getElementById("test-div").innerHTML = """ <link rel='next' href='#first'> """ - goNext() + NormalModeCommands.goNext() assert.equal '#first', window.location.hash should "favor link relation to text matching", -> @@ -511,14 +511,14 @@ context "Find prev / next links", <link rel='next' href='#first'> <a href='#second'>next</a> """ - goNext() + NormalModeCommands.goNext() assert.equal '#first', window.location.hash should "match mixed case link relation", -> document.getElementById("test-div").innerHTML = """ <link rel='Next' href='#first'> """ - goNext() + NormalModeCommands.goNext() assert.equal '#first', window.location.hash createLinks = (n) -> diff --git a/tests/dom_tests/dom_tests.html b/tests/dom_tests/dom_tests.html index d2e795d1..37cd43e3 100644 --- a/tests/dom_tests/dom_tests.html +++ b/tests/dom_tests/dom_tests.html @@ -49,6 +49,7 @@ <script type="text/javascript" src="../../content_scripts/mode_key_handler.js"></script> <script type="text/javascript" src="../../content_scripts/mode_visual.js"></script> <script type="text/javascript" src="../../content_scripts/hud.js"></script> + <script type="text/javascript" src="../../content_scripts/mode_normal.js"></script> <script type="text/javascript" src="../../content_scripts/vimium_frontend.js"></script> <script type="text/javascript" src="../shoulda.js/shoulda.js"></script> diff --git a/tests/unit_tests/commands_test.coffee b/tests/unit_tests/commands_test.coffee index 0e0be1d6..49dd2570 100644 --- a/tests/unit_tests/commands_test.coffee +++ b/tests/unit_tests/commands_test.coffee @@ -4,6 +4,14 @@ extend global, require "../../background_scripts/bg_utils.js" global.Settings = {postUpdateHooks: {}, get: (-> ""), set: ->} {Commands} = require "../../background_scripts/commands.js" +# Include mode_normal to check that all commands have been implemented. +global.KeyHandlerMode = global.Mode = {} +global.KeyboardUtils = {platform: ""} +extend global, require "../../content_scripts/link_hints.js" +extend global, require "../../content_scripts/marks.js" +extend global, require "../../content_scripts/vomnibar.js" +{NormalModeCommands} = require "../../content_scripts/mode_normal.js" + context "Key mappings", setup -> @testKeySequence = (key, expectedKeyText, expectedKeyLength) -> @@ -114,6 +122,14 @@ context "Parse commands", assert.equal "a", BgUtils.parseLines(" a \n b")[0] assert.equal "b", BgUtils.parseLines(" a \n b")[1] -# TODO (smblott) More tests: -# - Ensure each background command has an implmentation in BackgroundCommands -# - Ensure each foreground command has an implmentation in vimium_frontent.coffee +context "Commands implemented", + (for own command, options of Commands.availableCommands + do (command, options) -> + if options.background + should "#{command} (background command)", -> + # TODO: Import background_scripts/main.js and expose BackgroundCommands from there. + # assert.isTrue BackgroundCommands[command] + else + should "#{command} (foreground command)", -> + assert.isTrue NormalModeCommands[command] + )... diff --git a/tests/unit_tests/utils_test.coffee b/tests/unit_tests/utils_test.coffee index cc1081dd..2794a6d7 100644 --- a/tests/unit_tests/utils_test.coffee +++ b/tests/unit_tests/utils_test.coffee @@ -138,26 +138,6 @@ context "distinctCharacters", should "eliminate duplicate characters", -> assert.equal "abc", Utils.distinctCharacters "bbabaabbacabbbab" -context "invokeCommandString", - setup -> - @beenCalled = false - window.singleComponentCommand = => @beenCalled = true - window.twoComponentCommand = command: window.singleComponentCommand - - tearDown -> - delete window.singleComponentCommand - delete window.twoComponentCommand - - should "invoke single-component commands", -> - assert.isFalse @beenCalled - Utils.invokeCommandString "singleComponentCommand" - assert.isTrue @beenCalled - - should "invoke multi-component commands", -> - assert.isFalse @beenCalled - Utils.invokeCommandString "twoComponentCommand.command" - assert.isTrue @beenCalled - context "escapeRegexSpecialCharacters", should "escape regexp special characters", -> str = "-[]/{}()*+?.^$|" |
