| Index: chrome/browser/resources/chromeos/chromevox/cvox2/background/output_test.extjs
|
| diff --git a/chrome/browser/resources/chromeos/chromevox/cvox2/background/output_test.extjs b/chrome/browser/resources/chromeos/chromevox/cvox2/background/output_test.extjs
|
| index b392f316033c70e57c5248934398e7eba5916c17..50683acbaac4bc112ac65b80bc80e0d000a49005 100644
|
| --- a/chrome/browser/resources/chromeos/chromevox/cvox2/background/output_test.extjs
|
| +++ b/chrome/browser/resources/chromeos/chromevox/cvox2/background/output_test.extjs
|
| @@ -225,3 +225,122 @@ TEST_F('OutputE2ETest', 'Input', function() {
|
| });
|
| });
|
| });
|
| +
|
| +TEST_F('OutputE2ETest', 'List', function() {
|
| + this.runWithLoadedTree(
|
| + '<ul><li>a<li>b<li>c</ul>',
|
| + function(root) {
|
| + var el = root.firstChild.firstChild;
|
| + var range = cursors.Range.fromNode(el);
|
| + var o = new Output().withSpeechAndBraille(range, null, 'navigate');
|
| + assertEqualsJSON({string_: 'list|with 3 items|a||List item', spans_: [
|
| + {value: 'name', start: 18, end: 19},
|
| + {value: 'value', start:20, end: 20},
|
| + {value: 'role', start: 21, end: 30},
|
| + {value: {}, start: 21, end: 30}
|
| + ]}, o.toSpannableForTest());
|
| + });
|
| +});
|
| +
|
| +TEST_F('OutputE2ETest', 'Tree', function() {
|
| + this.runWithLoadedTree(function() {/*!
|
| + <ul role="tree">
|
| + <li aria-expanded="true" role="treeitem">a
|
| + <li role="treeitem">b
|
| + <li aria-expanded="false" role="treeitem">c
|
| + </ul>
|
| + */},
|
| + function(root) {
|
| + var el = root.firstChild.children[0].firstChild;
|
| + var range = cursors.Range.fromNode(el);
|
| + var o = new Output().withSpeechAndBraille(range, null, 'navigate');
|
| + assertEqualsJSON(
|
| + {string_: '|Tree|with 3 items|Tree item|Expanded| 1 of 3 | level 1 |a|',
|
| + spans_: [
|
| + // Enter rule.
|
| +
|
| + // TreeItem.
|
| + {value: 'role','start': 19, end: 28},
|
| + {value: 'state', start: 29, end: 37},
|
| +
|
| + // InLineTextBox.
|
| + {value: 'value', start: 57, end: 58},
|
| + {value: 'name', start: 59, end: 59}
|
| + ]}, o.toSpannableForTest());
|
| +
|
| + el = root.firstChild.children[1].firstChild;
|
| + var range = cursors.Range.fromNode(el);
|
| + var o = new Output().withSpeechAndBraille(range, null, 'navigate');
|
| + assertEqualsJSON(
|
| + {string_: '|Tree|with 3 items|Tree item| 2 of 3 | level 1 |b|',
|
| + spans_: [
|
| + // Enter rule.
|
| +
|
| + // TreeItem.
|
| + {value: 'role','start': 19, end: 28},
|
| +
|
| + // InLineTextBox.
|
| + {value: 'value', start: 48, end: 49},
|
| + {value: 'name', start: 50, end: 50}
|
| + ]}, o.toSpannableForTest());
|
| +
|
| + el = root.firstChild.children[2].firstChild;
|
| + var range = cursors.Range.fromNode(el);
|
| + var o = new Output().withSpeechAndBraille(range, null, 'navigate');
|
| + assertEqualsJSON(
|
| + {string_: '|Tree|with 3 items|Tree item|Collapsed| 3 of 3 | level 1 |c|',
|
| + spans_: [
|
| + // Enter rule.
|
| +
|
| + // TreeItem.
|
| + {value: 'role','start': 19, end: 28},
|
| + {value: 'state', start: 29, end: 38},
|
| +
|
| + // InLineTextBox.
|
| + {value: 'value', start: 58, end: 59},
|
| + {value: 'name', start: 60, end: 60}
|
| + ]}, o.toSpannableForTest());
|
| + });
|
| +});
|
| +
|
| +TEST_F('OutputE2ETest', 'Menu', function() {
|
| + this.runWithLoadedTree(function() {/*!
|
| + <div role="menu">
|
| + <div role="menuitem">a</div>
|
| + </div>
|
| + */},
|
| + function(root) {
|
| + var el = root.firstChild.firstChild;
|
| + var range = cursors.Range.fromNode(el);
|
| + var o = new Output().withSpeechAndBraille(range, null, 'navigate');
|
| + assertEqualsJSON({string_: '|Menu|with 1 items|a, menu item| 1 of 1 ', spans_: [
|
| + {value: 'name', start: 0, end: 0},
|
| + {value: 'role', start:1, end: 5}
|
| + ]}, o.toSpannableForTest());
|
| + });
|
| +});
|
| +
|
| +TEST_F('OutputE2ETest', 'ListBox', function() {
|
| + this.runWithLoadedTree(function() {/*!
|
| + <select multiple>
|
| + <option>1</option>
|
| + <option>2</option>
|
| + </select>
|
| + */},
|
| + function(root) {
|
| + var el = root.firstChild.firstChild.firstChild;
|
| + var range = cursors.Range.fromNode(el);
|
| + var o = new Output().withSpeechAndBraille(range, null, 'navigate');
|
| + assertEqualsJSON({string_: '|List box|with 2 items||List item| 1 of 2 ',
|
| + spans_: [
|
| + // ListBox.
|
| + // Earcon.
|
| + {value: {}, start: 1, end: 9},
|
| +
|
| + {value: 'name', start: 23, end: 23},
|
| + {value: 'role', start:24, end: 33},
|
| + // Earcon.
|
| + {value: {}, start: 24, end: 33}
|
| + ]}, o.toSpannableForTest());
|
| + });
|
| +});
|
|
|