aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/unit_tests/commands_test.coffee27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/unit_tests/commands_test.coffee b/tests/unit_tests/commands_test.coffee
index 99e0e444..7a1b43ab 100644
--- a/tests/unit_tests/commands_test.coffee
+++ b/tests/unit_tests/commands_test.coffee
@@ -8,3 +8,30 @@ context "Key mappings",
assert.equal (Commands.normalizeKey '<C-A>'), '<c-A>'
assert.equal (Commands.normalizeKey '<F12>'), '<f12>'
assert.equal (Commands.normalizeKey '<C-F12>'), '<c-f12>'
+
+context "Validate commands and options",
+ should "have either noRepeat or repeatLimit, but not both", ->
+ for command, options of Commands.availableCommands
+ assert.isTrue not (options.noRepeat and options.repeatLimit)
+
+ should "have a description for each command", ->
+ for command, options of Commands.availableCommands
+ assert.equal 'string', typeof options.description
+
+ should "have valid commands for each command in each command group", ->
+ for group, commands of Commands.commandGroups
+ for command in commands
+ assert.equal 'string', typeof command
+ assert.isTrue Commands.availableCommands[command]
+
+ should "have valid commands for each advanced command", ->
+ for command in Commands.advancedCommands
+ assert.equal 'string', typeof command
+ assert.isTrue Commands.availableCommands[command]
+
+ should "have valid commands for each default key mapping", ->
+ count = Object.keys(Commands.keyToCommandRegistry).length
+ assert.isTrue (0 < count)
+ for key, command of Commands.keyToCommandRegistry
+ assert.equal 'object', typeof command
+ assert.isTrue Commands.availableCommands[command.command]