OLD | NEW |
| (Empty) |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 // Include test fixture. | |
6 GEN_INCLUDE(['../testing/chromevox_unittest_base.js']); | |
7 | |
8 /** | |
9 * Test fixture. | |
10 * @constructor | |
11 * @extends {ChromeVoxUnitTestBase} | |
12 */ | |
13 function CvoxCommandStoreUnitTest() {} | |
14 | |
15 CvoxCommandStoreUnitTest.prototype = { | |
16 __proto__: ChromeVoxUnitTestBase.prototype, | |
17 | |
18 /** @override */ | |
19 closureModuleDeps: [ | |
20 'cvox.ChromeVoxUserCommands', | |
21 'cvox.CommandStore', | |
22 ] | |
23 }; | |
24 | |
25 TEST_F('CvoxCommandStoreUnitTest', 'TableData', function() { | |
26 var categories = cvox.CommandStore.categories(); | |
27 assertEquals(10, categories.length); | |
28 assertEquals('modifier_keys', categories[0]); | |
29 assertEquals('controlling_speech', categories[1]); | |
30 assertEquals('navigation', categories[2]); | |
31 assertEquals('information', categories[3]); | |
32 assertEquals('help_commands', categories[4]); | |
33 assertEquals('overview', categories[5]); | |
34 assertEquals('jump_commands', categories[6]); | |
35 assertEquals('tables', categories[7]); | |
36 | |
37 assertEquals('stop_speech_key', | |
38 cvox.CommandStore.messageForCommand('stopSpeech')); | |
39 assertEquals('controlling_speech', | |
40 cvox.CommandStore.categoryForCommand('stopSpeech')); | |
41 | |
42 var controllingSpeechCmds = | |
43 cvox.CommandStore.commandsForCategory('controlling_speech'); | |
44 assertEquals(11, controllingSpeechCmds.length); | |
45 assertEquals('stopSpeech', controllingSpeechCmds[0]); | |
46 assertEquals('toggleChromeVox', controllingSpeechCmds[1]); | |
47 assertEquals('decreaseTtsRate', controllingSpeechCmds[2]); | |
48 assertEquals('increaseTtsRate', controllingSpeechCmds[3]); | |
49 assertEquals('decreaseTtsPitch', controllingSpeechCmds[4]); | |
50 assertEquals('increaseTtsPitch', controllingSpeechCmds[5]); | |
51 }); | |
52 | |
53 | |
54 /** Tests that undefined is returned for bad queries. */ | |
55 TEST_F('CvoxCommandStoreUnitTest', 'InvalidQueries', function() { | |
56 assertThat(cvox.CommandStore.commandsForCategory('foo'), eqJSON([])); | |
57 assertTrue(undefined == cvox.CommandStore.categoryForCommand('foo')); | |
58 assertTrue(undefined == cvox.CommandStore.messageForCommand('foo')); | |
59 }); | |
60 | |
61 | |
62 /** Tests the validity of every command. */ | |
63 TEST_F('CvoxCommandStoreUnitTest', 'CommandValidity', function() { | |
64 var categories = cvox.CommandStore.categories(); | |
65 for (var i = 0; i < categories.length; i++) { | |
66 var commands = cvox.CommandStore.commandsForCategory(categories[i]); | |
67 for (j = 0; j < commands.length; j++) { | |
68 var command = commands[j]; | |
69 assertEquals(command + ' function', | |
70 command + ' ' + typeof(cvox.ChromeVoxUserCommands.commands[command])); | |
71 } | |
72 } | |
73 }); | |
OLD | NEW |