| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 * This configuration can be used to rerun selected tests, as well | 6 * This configuration can be used to rerun selected tests, as well |
| 7 * as see diagnostic output from tests. It runs each test in its own | 7 * as see diagnostic output from tests. It runs each test in its own |
| 8 * IFrame, so the configuration consists of two parts - a 'parent' | 8 * IFrame, so the configuration consists of two parts - a 'parent' |
| 9 * config that manages all the tests, and a 'child' config for the | 9 * config that manages all the tests, and a 'child' config for the |
| 10 * IFrame that runs the individual tests. | 10 * IFrame that runs the individual tests. |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 [int elapsed = 0, String body = '']) => | 36 [int elapsed = 0, String body = '']) => |
| 37 '$messageType $elapsed $body'; | 37 '$messageType $elapsed $body'; |
| 38 | 38 |
| 39 _Message(this.messageType, [this.elapsed = 0, this.body = '']); | 39 _Message(this.messageType, [this.elapsed = 0, this.body = '']); |
| 40 | 40 |
| 41 _Message.fromString(String msg) { | 41 _Message.fromString(String msg) { |
| 42 int idx = msg.indexOf(' '); | 42 int idx = msg.indexOf(' '); |
| 43 messageType = msg.substring(0, idx); | 43 messageType = msg.substring(0, idx); |
| 44 ++idx; | 44 ++idx; |
| 45 int idx2 = msg.indexOf(' ', idx); | 45 int idx2 = msg.indexOf(' ', idx); |
| 46 elapsed = parseInt(msg.substring(idx, idx2)); | 46 elapsed = int.parse(msg.substring(idx, idx2)); |
| 47 ++idx2; | 47 ++idx2; |
| 48 body = msg.substring(idx2); | 48 body = msg.substring(idx2); |
| 49 } | 49 } |
| 50 | 50 |
| 51 String toString() => text(messageType, elapsed, body); | 51 String toString() => text(messageType, elapsed, body); |
| 52 } | 52 } |
| 53 | 53 |
| 54 /** | 54 /** |
| 55 * The child configuration that is used to run individual tests in | 55 * The child configuration that is used to run individual tests in |
| 56 * an IFrame and post the results back to the parent. In principle | 56 * an IFrame and post the results back to the parent. In principle |
| (...skipping 27 matching lines...) Expand all Loading... |
| 84 * IFrame URL, sets that as a solo test and starts test execution. | 84 * IFrame URL, sets that as a solo test and starts test execution. |
| 85 */ | 85 */ |
| 86 window.on.message.add((MessageEvent e) { | 86 window.on.message.add((MessageEvent e) { |
| 87 // Get the result, do any logging, then do a pass/fail. | 87 // Get the result, do any logging, then do a pass/fail. |
| 88 var m = new _Message.fromString(e.data); | 88 var m = new _Message.fromString(e.data); |
| 89 if (m.messageType == _Message.START) { | 89 if (m.messageType == _Message.START) { |
| 90 parentWindow = e.source; | 90 parentWindow = e.source; |
| 91 String search = window.location.search; | 91 String search = window.location.search; |
| 92 int pos = search.indexOf('t='); | 92 int pos = search.indexOf('t='); |
| 93 String ids = search.substring(pos+2); | 93 String ids = search.substring(pos+2); |
| 94 int id = parseInt(ids); | 94 int id = int.parse(ids); |
| 95 setSoloTest(id); | 95 setSoloTest(id); |
| 96 runTests(); | 96 runTests(); |
| 97 } | 97 } |
| 98 }); | 98 }); |
| 99 } | 99 } |
| 100 | 100 |
| 101 void onStart() { | 101 void onStart() { |
| 102 // Listen for uncaught errors. | 102 // Listen for uncaught errors. |
| 103 window.on.error.add(_onErrorClosure); | 103 window.on.error.add(_onErrorClosure); |
| 104 } | 104 } |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 281 </div>"""); | 281 </div>"""); |
| 282 document.query('#group-divs').nodes.add(groupDiv); | 282 document.query('#group-divs').nodes.add(groupDiv); |
| 283 groupDiv.query('.groupselect').on.click.add((e) { | 283 groupDiv.query('.groupselect').on.click.add((e) { |
| 284 var parent = document.query('#$groupId'); | 284 var parent = document.query('#$groupId'); |
| 285 InputElement cb = parent.query('.groupselect'); | 285 InputElement cb = parent.query('.groupselect'); |
| 286 var state = cb.checked; | 286 var state = cb.checked; |
| 287 var tests = parent.query('.tests'); | 287 var tests = parent.query('.tests'); |
| 288 for (Element t in tests.elements) { | 288 for (Element t in tests.elements) { |
| 289 cb = t.query('.testselect') as InputElement; | 289 cb = t.query('.testselect') as InputElement; |
| 290 cb.checked = state; | 290 cb.checked = state; |
| 291 var testId = parseInt(t.id.substring(_testIdPrefix.length)); | 291 var testId = int.parse(t.id.substring(_testIdPrefix.length)); |
| 292 if (state) { | 292 if (state) { |
| 293 enableTest(testId); | 293 enableTest(testId); |
| 294 } else { | 294 } else { |
| 295 disableTest(testId); | 295 disableTest(testId); |
| 296 } | 296 } |
| 297 } | 297 } |
| 298 }); | 298 }); |
| 299 } | 299 } |
| 300 var list = groupDiv.query('.tests'); | 300 var list = groupDiv.query('.tests'); |
| 301 var testItem = list.query('#$_testIdPrefix$id'); | 301 var testItem = list.query('#$_testIdPrefix$id'); |
| 302 if (testItem == null) { | 302 if (testItem == null) { |
| 303 // Create the li element for the test. | 303 // Create the li element for the test. |
| 304 testItem = new Element.html(""" | 304 testItem = new Element.html(""" |
| 305 <li id='$_testIdPrefix$id' class='test-it status-pending'> | 305 <li id='$_testIdPrefix$id' class='test-it status-pending'> |
| 306 <div class='test-info'> | 306 <div class='test-info'> |
| 307 <p class='test-title'> | 307 <p class='test-title'> |
| 308 <input type='checkbox' checked='true' class='testselect' | 308 <input type='checkbox' checked='true' class='testselect' |
| 309 id='$_selectedIdPrefix$id'> | 309 id='$_selectedIdPrefix$id'> |
| 310 <span class='test-label'> | 310 <span class='test-label'> |
| 311 <span class='timer-result test-timer-result'></span> | 311 <span class='timer-result test-timer-result'></span> |
| 312 <span class='test-name closed'>${testCase.description}</span> | 312 <span class='test-name closed'>${testCase.description}</span> |
| 313 </span> | 313 </span> |
| 314 </p> | 314 </p> |
| 315 </div> | 315 </div> |
| 316 <div class='scrollpane'> | 316 <div class='scrollpane'> |
| 317 <ol class='test-actions' id='$_actionIdPrefix$id'></ol> | 317 <ol class='test-actions' id='$_actionIdPrefix$id'></ol> |
| 318 </div> | 318 </div> |
| 319 </li>"""); | 319 </li>"""); |
| 320 list.nodes.add(testItem); | 320 list.nodes.add(testItem); |
| 321 testItem.query('#$_selectedIdPrefix$id').on.change.add((e) { | 321 testItem.query('#$_selectedIdPrefix$id').on.change.add((e) { |
| 322 InputElement cb = testItem.query('#$_selectedIdPrefix$id'); | 322 InputElement cb = testItem.query('#$_selectedIdPrefix$id'); |
| 323 testCase.enabled = cb.checked; | 323 testCase.enabled = cb.checked; |
| 324 }); | 324 }); |
| 325 testItem.query('.test-label').on.click.add((e) { | 325 testItem.query('.test-label').on.click.add((e) { |
| 326 var _testItem = document.query('#$_testIdPrefix$id'); | 326 var _testItem = document.query('#$_testIdPrefix$id'); |
| 327 var _actions = _testItem.query('#$_actionIdPrefix$id'); | 327 var _actions = _testItem.query('#$_actionIdPrefix$id'); |
| 328 var _label = _testItem.query('.test-name'); | 328 var _label = _testItem.query('.test-name'); |
| (...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 649 display: block; | 649 display: block; |
| 650 list-style-type: disc; | 650 list-style-type: disc; |
| 651 -webkit-margin-before: 1em; | 651 -webkit-margin-before: 1em; |
| 652 -webkit-margin-after: 1em; | 652 -webkit-margin-after: 1em; |
| 653 -webkit-margin-start: 0px; | 653 -webkit-margin-start: 0px; |
| 654 -webkit-margin-end: 0px; | 654 -webkit-margin-end: 0px; |
| 655 -webkit-padding-start: 40px; | 655 -webkit-padding-start: 40px; |
| 656 } | 656 } |
| 657 | 657 |
| 658 """; | 658 """; |
| OLD | NEW |