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