| 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 /// A simple unit test library for running tests in a browser. |
| 6 * A simple unit test library for running tests in a browser. | |
| 7 */ | |
| 8 library unittest.html_config; | 6 library unittest.html_config; |
| 9 | 7 |
| 10 import 'dart:async'; | 8 import 'dart:async'; |
| 11 import 'dart:convert'; | 9 import 'dart:convert'; |
| 12 import 'dart:html'; | 10 import 'dart:html'; |
| 13 import 'dart:js' as js; | 11 import 'dart:js' as js; |
| 14 import 'unittest.dart'; | 12 import 'unittest.dart'; |
| 15 | 13 |
| 16 /** Creates a table showing tests results in HTML. */ | 14 /// Creates a table showing tests results in HTML. |
| 17 void _showResultsInPage(int passed, int failed, int errors, | 15 void _showResultsInPage(int passed, int failed, int errors, |
| 18 List<TestCase> results, bool isLayoutTest, String uncaughtError) { | 16 List<TestCase> results, bool isLayoutTest, String uncaughtError) { |
| 19 if (isLayoutTest && (passed == results.length) && uncaughtError == null) { | 17 if (isLayoutTest && (passed == results.length) && uncaughtError == null) { |
| 20 document.body.innerHtml = "PASS"; | 18 document.body.innerHtml = "PASS"; |
| 21 } else { | 19 } else { |
| 22 var newBody = new StringBuffer(); | 20 var newBody = new StringBuffer(); |
| 23 newBody.write("<table class='unittest-table'><tbody>"); | 21 newBody.write("<table class='unittest-table'><tbody>"); |
| 24 newBody.write(passed == results.length && uncaughtError == null | 22 newBody.write(passed == results.length && uncaughtError == null |
| 25 ? "<tr><td colspan='3' class='unittest-pass'>PASS</td></tr>" | 23 ? "<tr><td colspan='3' class='unittest-pass'>PASS</td></tr>" |
| 26 : "<tr><td colspan='3' class='unittest-fail'>FAIL</td></tr>"); | 24 : "<tr><td colspan='3' class='unittest-fail'>FAIL</td></tr>"); |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 if (test_.stackTrace != null) { | 82 if (test_.stackTrace != null) { |
| 85 html = '$html<tr><td></td><td colspan="2"><pre>' + | 83 html = '$html<tr><td></td><td colspan="2"><pre>' + |
| 86 HTML_ESCAPE.convert(test_.stackTrace.toString()) + | 84 HTML_ESCAPE.convert(test_.stackTrace.toString()) + |
| 87 '</pre></td></tr>'; | 85 '</pre></td></tr>'; |
| 88 } | 86 } |
| 89 | 87 |
| 90 return html; | 88 return html; |
| 91 } | 89 } |
| 92 | 90 |
| 93 class HtmlConfiguration extends SimpleConfiguration { | 91 class HtmlConfiguration extends SimpleConfiguration { |
| 94 /** Whether this is run within dartium layout tests. */ | 92 /// Whether this is run within dartium layout tests. |
| 95 final bool _isLayoutTest; | 93 final bool _isLayoutTest; |
| 96 HtmlConfiguration(this._isLayoutTest); | 94 HtmlConfiguration(this._isLayoutTest); |
| 97 | 95 |
| 98 StreamSubscription<Event> _onErrorSubscription; | 96 StreamSubscription<Event> _onErrorSubscription; |
| 99 StreamSubscription<Event> _onMessageSubscription; | 97 StreamSubscription<Event> _onMessageSubscription; |
| 100 | 98 |
| 101 void _installHandlers() { | 99 void _installHandlers() { |
| 102 if (_onErrorSubscription == null) { | 100 if (_onErrorSubscription == null) { |
| 103 _onErrorSubscription = window.onError.listen( | 101 _onErrorSubscription = window.onError.listen( |
| 104 (e) { | 102 (e) { |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 169 window.postMessage('unittest-suite-done', '*'); | 167 window.postMessage('unittest-suite-done', '*'); |
| 170 } | 168 } |
| 171 } | 169 } |
| 172 | 170 |
| 173 void useHtmlConfiguration([bool isLayoutTest = false]) { | 171 void useHtmlConfiguration([bool isLayoutTest = false]) { |
| 174 unittestConfiguration = isLayoutTest ? _singletonLayout : _singletonNotLayout; | 172 unittestConfiguration = isLayoutTest ? _singletonLayout : _singletonNotLayout; |
| 175 } | 173 } |
| 176 | 174 |
| 177 final _singletonLayout = new HtmlConfiguration(true); | 175 final _singletonLayout = new HtmlConfiguration(true); |
| 178 final _singletonNotLayout = new HtmlConfiguration(false); | 176 final _singletonNotLayout = new HtmlConfiguration(false); |
| OLD | NEW |