OLD | NEW |
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 var ActiveDescendantMixin = [ 'activedescendant' ]; | 5 var ActiveDescendantMixin = [ 'activedescendant' ]; |
6 var LinkMixins = [ 'url' ]; | 6 var LinkMixins = [ 'url' ]; |
7 var DocumentMixins = [ 'docUrl', | 7 var DocumentMixins = [ 'docUrl', |
8 'docTitle', | 8 'docTitle', |
9 'docLoaded', | 9 'docLoaded', |
10 'docLoadingProgress' ]; | 10 'docLoadingProgress' ]; |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 | 78 |
79 var ariaLink = links[1]; | 79 var ariaLink = links[1]; |
80 assertEq('ARIA link', ariaLink.name); | 80 assertEq('ARIA link', ariaLink.name); |
81 assertTrue('url' in ariaLink, 'ariaLink should have a url attribute'); | 81 assertTrue('url' in ariaLink, 'ariaLink should have a url attribute'); |
82 assertEq('', ariaLink.url); | 82 assertEq('', ariaLink.url); |
83 chrome.test.succeed(); | 83 chrome.test.succeed(); |
84 }, | 84 }, |
85 | 85 |
86 function testEditableTextMixins() { | 86 function testEditableTextMixins() { |
87 var textFields = rootNode.findAll({ role: 'textField' }); | 87 var textFields = rootNode.findAll({ role: 'textField' }); |
88 assertEq(2, textFields.length); | 88 assertEq(3, textFields.length); |
89 var EditableTextMixins = [ 'textSelStart', 'textSelEnd' ]; | 89 var EditableTextMixins = [ 'textSelStart', 'textSelEnd' ]; |
90 for (var i = 0; i < textFields.length; i++) { | 90 for (var i = 0; i < textFields.length; i++) { |
91 var textField = textFields[i]; | 91 var textField = textFields[i]; |
92 var id = textField.attributes.id; | 92 var id = textField.attributes.id; |
93 for (var j = 0; j < EditableTextMixins.length; j++) { | 93 for (var j = 0; j < EditableTextMixins.length; j++) { |
94 var mixinAttribute = EditableTextMixins[j]; | 94 var mixinAttribute = EditableTextMixins[j]; |
95 assertTrue(mixinAttribute in textField, | 95 assertTrue(mixinAttribute in textField, |
96 'textField (' + id + ') should have a ' + mixinAttribute + | 96 'textField (' + id + ') should have a ' + mixinAttribute + |
97 ' attribute'); | 97 ' attribute'); |
98 } | 98 } |
99 } | 99 } |
100 var input = textFields[0]; | 100 var input = textFields[0]; |
101 assertEq('text-input', input.attributes.id); | 101 assertEq('text-input', input.attributes.id); |
102 assertEq(2, input.textSelStart); | 102 assertEq(2, input.textSelStart); |
103 assertEq(8, input.textSelEnd); | 103 assertEq(8, input.textSelEnd); |
104 | 104 |
105 var ariaTextbox = textFields[1]; | 105 var textArea = textFields[1]; |
106 assertEq('textbox-role', ariaTextbox.attributes.id); | |
107 assertEq(0, ariaTextbox.textSelStart); | |
108 assertEq(0, ariaTextbox.textSelEnd); | |
109 | |
110 var textArea = rootNode.find({ role: 'textArea' }); | |
111 assertFalse(textArea == null, 'Should find a textArea in the page'); | |
112 assertEq('textarea', textArea.attributes.id); | 106 assertEq('textarea', textArea.attributes.id); |
113 for (var i = 0; i < EditableTextMixins.length; i++) { | 107 for (var i = 0; i < EditableTextMixins.length; i++) { |
114 var mixinAttribute = EditableTextMixins[i]; | 108 var mixinAttribute = EditableTextMixins[i]; |
115 assertTrue(mixinAttribute in textArea, | 109 assertTrue(mixinAttribute in textArea, |
116 'textArea should have a ' + mixinAttribute + ' attribute'); | 110 'textArea should have a ' + mixinAttribute + ' attribute'); |
117 } | 111 } |
118 assertEq(0, textArea.textSelStart); | 112 assertEq(0, textArea.textSelStart); |
119 assertEq(0, textArea.textSelEnd); | 113 assertEq(0, textArea.textSelEnd); |
120 | 114 |
| 115 var ariaTextbox = textFields[2]; |
| 116 assertEq('textbox-role', ariaTextbox.attributes.id); |
| 117 assertEq(0, ariaTextbox.textSelStart); |
| 118 assertEq(0, ariaTextbox.textSelEnd); |
| 119 |
121 chrome.test.succeed(); | 120 chrome.test.succeed(); |
122 }, | 121 }, |
123 | 122 |
124 function testRangeMixins() { | 123 function testRangeMixins() { |
125 var sliders = rootNode.findAll({ role: 'slider' }); | 124 var sliders = rootNode.findAll({ role: 'slider' }); |
126 assertEq(2, sliders.length); | 125 assertEq(2, sliders.length); |
127 var spinButtons = rootNode.findAll({ role: 'spinButton' }); | 126 var spinButtons = rootNode.findAll({ role: 'spinButton' }); |
128 assertEq(1, spinButtons.length); | 127 assertEq(1, spinButtons.length); |
129 var progressIndicators = rootNode.findAll({ role: 'progressIndicator' }); | 128 var progressIndicators = rootNode.findAll({ role: 'progressIndicator' }); |
130 assertEq(1, progressIndicators.length); | 129 assertEq(1, progressIndicators.length); |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
238 TableMixins, | 237 TableMixins, |
239 TableCellMixins); | 238 TableCellMixins); |
240 for (var mixinAttr in allMixins) { | 239 for (var mixinAttr in allMixins) { |
241 assertFalse(mixinAttr in div); | 240 assertFalse(mixinAttr in div); |
242 } | 241 } |
243 chrome.test.succeed(); | 242 chrome.test.succeed(); |
244 } | 243 } |
245 ]; | 244 ]; |
246 | 245 |
247 setUpAndRunTests(allTests, 'mixins.html'); | 246 setUpAndRunTests(allTests, 'mixins.html'); |
OLD | NEW |