diff options
| -rw-r--r-- | tests/unit_tests/commands_test.coffee | 27 | 
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] | 
