File: command_store_test.unitjs

package info (click to toggle)
chromium-browser 41.0.2272.118-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 2,189,132 kB
  • sloc: cpp: 9,691,462; ansic: 3,341,451; python: 712,689; asm: 518,779; xml: 208,926; java: 169,820; sh: 119,353; perl: 68,907; makefile: 28,311; yacc: 13,305; objc: 11,385; tcl: 3,186; cs: 2,225; sql: 2,217; lex: 2,215; lisp: 1,349; pascal: 1,256; awk: 407; ruby: 155; sed: 53; php: 14; exp: 11
file content (73 lines) | stat: -rw-r--r-- 2,648 bytes parent folder | download | duplicates (2)
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]));
    }
  }
});