Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(306)

Side by Side Diff: chrome/browser/resources/chromeos/chromevox/cvox2/background/output_test.extjs

Issue 1035983003: Split spoken feedback up on a per format rule basis. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 GEN_INCLUDE(['../../testing/assert_additions.js']); 5 GEN_INCLUDE(['../../testing/assert_additions.js']);
6 GEN_INCLUDE(['../../testing/chromevox_next_e2e_test_base.js']); 6 GEN_INCLUDE(['../../testing/chromevox_next_e2e_test_base.js']);
7 7
8 /** 8 /**
9 * Test fixture for output.js. 9 * Test fixture for output.js.
10 * @constructor 10 * @constructor
11 * @extends {ChromeVoxNextE2ETestBase} 11 * @extends {ChromeVoxNextE2ETestBase}
12 */ 12 */
13 function OutputE2ETest() { 13 function OutputE2ETest() {
14 ChromeVoxNextE2ETest.call(this); 14 ChromeVoxNextE2ETest.call(this);
15 } 15 }
16 16
17 OutputE2ETest.prototype = { 17 OutputE2ETest.prototype = {
18 __proto__: ChromeVoxNextE2ETest.prototype, 18 __proto__: ChromeVoxNextE2ETest.prototype,
19 19
20 /** @override */ 20 /** @override */
21 setUp: function() { 21 setUp: function() {
22 window.Dir = AutomationUtil.Dir; 22 window.Dir = AutomationUtil.Dir;
23 } 23 }
24 }; 24 };
25 25
26 TEST_F('OutputE2ETest', 'RenderBasic', function() { 26 TEST_F('OutputE2ETest', 'Links', function() {
27 this.runWithLoadedTree('<a href="#">Click here</a>', 27 this.runWithLoadedTree('<a href="#">Click here</a>',
28 function(root) { 28 function(root) {
29 var link = root.firstChild.firstChild; 29 var el = root.firstChild.firstChild;
30 var range = cursors.Range.fromNode(link); 30 var range = cursors.Range.fromNode(el);
31 var o = new Output().withSpeechAndBraille(range, null, 'navigate'); 31 var o = new Output().withSpeechAndBraille(range, null, 'navigate');
32 assertEqualsJSON({string_: 'Click here Link', 'spans_': [ 32 assertEqualsJSON({string_: 'Click hereLink', 'spans_': [
33 {value: 'name', start: 0, end: 10}, 33 // Attributes.
34 // Link earcon. 34 {value: 'name', start: 0, end: 10},
35 {value: {}, start: 11, end: 15} 35 {value: 'role', start: 10, end: 14},
36 ]}, 36
37 o.getBuffer()); 37 // Link earcon (based on the role).
38 {value: {}, start: 10, end: 14}
39 ]},
40 o.toSpannable());
38 }); 41 });
39 }); 42 });
43
44 TEST_F('OutputE2ETest', 'Checkbox', function() {
45 this.runWithLoadedTree('<input type="checkbox">',
46 function(root) {
47 var el = root.firstChild.firstChild;
48 var range = cursors.Range.fromNode(el);
49 var o = new Output().withSpeechAndBraille(range, null, 'navigate');
50 assertEqualsJSON({string_: 'Check boxnot checked', 'spans_': [
51 // Attributes.
52 {value: 'name', start: 0, end: 0},
53 {value: 'role', start: 0, end: 9},
54 {value: 'state', start: 9, end: 20},
55
56 // Link earcon (based on the state).
57 {value: {}, start: 9, end: 20}
58 ]},
59 o.toSpannable());
dmazzoni 2015/04/13 22:56:52 nit: indentation (3x in this file with the same li
David Tseng 2015/04/15 17:58:35 Done.
60 });
61 });
62
63 TEST_F('OutputE2ETest', 'InLineTextBoxValueGetsIgnored', function() {
64 this.runWithLoadedTree('<p>OK',
65 function(root) {
66 var el = root.firstChild.firstChild.firstChild;
67 assertEquals('inlineTextBox', el.role);
68 var range = cursors.Range.fromNode(el);
69 var o = new Output().withSpeechAndBraille(range, null, 'navigate');
70 assertEqualsJSON({string_: 'OK', 'spans_': [
71 // Attributes.
72 {value: 'name', start: 0, end: 2}
73 ]},
74 o.toSpannable());
75
76 el = root.firstChild.firstChild;
77 assertEquals('staticText', el.role);
78 range = cursors.Range.fromNode(el);
79 o = new Output().withSpeechAndBraille(range, null, 'navigate');
80 assertEqualsJSON({string_: 'OK', 'spans_': [
81 // Attributes.
82 {value: 'value', start: 0, end: 2},
83
84 // The name is an empty string.
85 {value: 'name', start: 2, end: 2}
86 ]},
87 o.toSpannable());
88 });
89 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698