OLD | NEW |
---|---|
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 /** | 5 /** |
6 * A simple unit test library for running tests in a browser. | 6 * A simple unit test library for running tests in a browser. |
7 * | 7 * |
8 * Provides enhanced HTML output with collapsible group headers | 8 * Provides enhanced HTML output with collapsible group headers |
9 * and other at-a-glance information about the test results. | 9 * and other at-a-glance information about the test results. |
10 */ | 10 */ |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
60 if ('unittest-suite-external-error' == e.data) { | 60 if ('unittest-suite-external-error' == e.data) { |
61 handleExternalError('<unknown>', '(external error detected)'); | 61 handleExternalError('<unknown>', '(external error detected)'); |
62 } | 62 } |
63 } | 63 } |
64 | 64 |
65 void onInit() { | 65 void onInit() { |
66 _installHandlers(); | 66 _installHandlers(); |
67 //initialize and load CSS | 67 //initialize and load CSS |
68 final String _CSSID = '_unittestcss_'; | 68 final String _CSSID = '_unittestcss_'; |
69 | 69 |
70 var cssElement = document.head.query('#${_CSSID}'); | 70 var cssElement = document.head.querySelector('#${_CSSID}'); |
71 if (cssElement == null) { | 71 if (cssElement == null) { |
72 cssElement = new StyleElement(); | 72 cssElement = new StyleElement(); |
73 cssElement.id = _CSSID; | 73 cssElement.id = _CSSID; |
74 document.head.append(cssElement); | 74 document.head.append(cssElement); |
75 } | 75 } |
76 | 76 |
77 cssElement.text = _htmlTestCSS; | 77 cssElement.text = _htmlTestCSS; |
78 window.postMessage('unittest-suite-wait-for-done', '*'); | 78 window.postMessage('unittest-suite-wait-for-done', '*'); |
79 } | 79 } |
80 | 80 |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
127 <span class='unittest-error'> | 127 <span class='unittest-error'> |
128 ${errors + (uncaughtError == null ? 0 : 1)} errors</span> | 128 ${errors + (uncaughtError == null ? 0 : 1)} errors</span> |
129 </div>""")); | 129 </div>""")); |
130 } | 130 } |
131 | 131 |
132 te.children.add(new Element.html(""" | 132 te.children.add(new Element.html(""" |
133 <div><button id='btnCollapseAll'>Collapse All</button></div> | 133 <div><button id='btnCollapseAll'>Collapse All</button></div> |
134 """)); | 134 """)); |
135 | 135 |
136 // handle the click event for the collapse all button | 136 // handle the click event for the collapse all button |
137 te.query('#btnCollapseAll').onClick.listen((_){ | 137 te.querySelector('#btnCollapseAll').onClick.listen((_){ |
138 document | 138 document |
139 .queryAll('.unittest-row') | 139 .querySelectorAll('.unittest-row') |
140 .forEach((el) => el.attributes['class'] = el.attributes['class'] | 140 .forEach((el) => el.attributes['class'] = el.attributes['class'] |
141 .replaceAll('unittest-row ', 'unittest-row-hidden ')); | 141 .replaceAll('unittest-row ', 'unittest-row-hidden ')); |
142 }); | 142 }); |
143 | 143 |
144 var previousGroup = ''; | 144 var previousGroup = ''; |
145 var groupPassFail = true; | 145 var groupPassFail = true; |
146 final indentAmount = 50; | 146 final indentAmount = 50; |
147 | 147 |
148 // order by group and sort numerically within each group | 148 // order by group and sort numerically within each group |
149 var groupedBy = new LinkedHashMap<String, List<TestCase>>(); | 149 var groupedBy = new LinkedHashMap<String, List<TestCase>>(); |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
200 </div> | 200 </div> |
201 <div ${_isIE ? "style='display:inline-block' ": ""}> | 201 <div ${_isIE ? "style='display:inline-block' ": ""}> |
202 ${test_.currentGroup}</div> | 202 ${test_.currentGroup}</div> |
203 | 203 |
204 <div ${_isIE ? "style='display:inline-block' ": ""}> | 204 <div ${_isIE ? "style='display:inline-block' ": ""}> |
205 (${groupTestPassedCount}/${groupTotalTestCount})</div> | 205 (${groupTestPassedCount}/${groupTotalTestCount})</div> |
206 </div> | 206 </div> |
207 </div>""")); | 207 </div>""")); |
208 | 208 |
209 // 'safeGroup' could be empty | 209 // 'safeGroup' could be empty |
210 var grp = (safeGroup == '') ? null : te.query('#${safeGroup}'); | 210 var grp = (safeGroup == '') ? null : te.querySelector('#${safeGroup}') ; |
Siggi Cherem (dart-lang)
2014/02/03 18:09:46
80
kevmoo
2014/02/03 18:22:57
Done.
| |
211 if (grp != null) { | 211 if (grp != null) { |
212 grp.onClick.listen((_) { | 212 grp.onClick.listen((_) { |
213 var row = document.query('.unittest-row-${safeGroup}'); | 213 var row = document.querySelector('.unittest-row-${safeGroup}'); |
214 if (row.attributes['class'].contains('unittest-row ')){ | 214 if (row.attributes['class'].contains('unittest-row ')){ |
215 document.queryAll('.unittest-row-${safeGroup}').forEach( | 215 document.querySelectorAll('.unittest-row-${safeGroup}').forEach( |
216 (e) => e.attributes['class'] = e.attributes['class'] | 216 (e) => e.attributes['class'] = e.attributes['class'] |
217 .replaceAll('unittest-row ', 'unittest-row-hidden ')); | 217 .replaceAll('unittest-row ', 'unittest-row-hidden ')); |
218 }else{ | 218 }else{ |
219 document.queryAll('.unittest-row-${safeGroup}').forEach( | 219 document.querySelectorAll('.unittest-row-${safeGroup}').forEach( |
220 (e) => e.attributes['class'] = e.attributes['class'] | 220 (e) => e.attributes['class'] = e.attributes['class'] |
221 .replaceAll('unittest-row-hidden', 'unittest-row')); | 221 .replaceAll('unittest-row-hidden', 'unittest-row')); |
222 } | 222 } |
223 }); | 223 }); |
224 } | 224 } |
225 } | 225 } |
226 | 226 |
227 _buildRow(test_, te, safeGroup, !groupPassFail); | 227 _buildRow(test_, te, safeGroup, !groupPassFail); |
228 } | 228 } |
229 | 229 |
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
410 | 410 |
411 '''; | 411 '''; |
412 } | 412 } |
413 | 413 |
414 void useHtmlEnhancedConfiguration([bool isLayoutTest = false]) { | 414 void useHtmlEnhancedConfiguration([bool isLayoutTest = false]) { |
415 unittestConfiguration = isLayoutTest ? _singletonLayout : _singletonNotLayout; | 415 unittestConfiguration = isLayoutTest ? _singletonLayout : _singletonNotLayout; |
416 } | 416 } |
417 | 417 |
418 final _singletonLayout = new HtmlEnhancedConfiguration(true); | 418 final _singletonLayout = new HtmlEnhancedConfiguration(true); |
419 final _singletonNotLayout = new HtmlEnhancedConfiguration(false); | 419 final _singletonNotLayout = new HtmlEnhancedConfiguration(false); |
OLD | NEW |