From c391b7777ccf7b2445193fbb39656d9c28be3f75 Mon Sep 17 00:00:00 2001 From: Stephen Blott Date: Sun, 26 Oct 2014 17:25:51 +0000 Subject: Add tests to validate command structures. --- tests/unit_tests/commands_test.coffee | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) 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 ''), '' assert.equal (Commands.normalizeKey ''), '' assert.equal (Commands.normalizeKey ''), '' + +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] -- cgit v1.2.3