| 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 |