Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(379)

Side by Side Diff: pkg/unittest/lib/src/test_case.dart

Issue 149573006: pkg/unittest: more lock-down, cleanup (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: fighting cl Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « pkg/unittest/lib/src/spread_args_helper.dart ('k') | pkg/unittest/lib/unittest.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 part of unittest; 5 part of unittest;
6 6
7 /** 7 /**
8 * Represents the state for an individual unit test. 8 * Represents the state for an individual unit test.
9 * 9 *
10 * Create by calling [test] or [solo_test]. 10 * Create by calling [test] or [solo_test].
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 50
51 /** The group (or groups) under which this test is running. */ 51 /** The group (or groups) under which this test is running. */
52 final String currentGroup; 52 final String currentGroup;
53 53
54 DateTime _startTime; 54 DateTime _startTime;
55 DateTime get startTime => _startTime; 55 DateTime get startTime => _startTime;
56 56
57 Duration _runningTime; 57 Duration _runningTime;
58 Duration get runningTime => _runningTime; 58 Duration get runningTime => _runningTime;
59 59
60 bool enabled = true; 60 bool _enabled = true;
61
62 bool get enabled => _enabled;
61 63
62 bool _doneTeardown = false; 64 bool _doneTeardown = false;
63 65
64 Completer _testComplete; 66 Completer _testComplete;
65 67
66 TestCase._internal(this.id, this.description, this._testFunction) 68 TestCase._internal(this.id, this.description, this._testFunction)
67 : currentGroup = _currentContext.fullName, 69 : currentGroup = _currentContext.fullName,
68 _setUp = _currentContext.testSetup, 70 _setUp = _currentContext.testSetup,
69 _tearDown = _currentContext.testTeardown; 71 _tearDown = _currentContext.testTeardown;
70 72
71 bool get isComplete => !enabled || result != null; 73 bool get isComplete => !enabled || result != null;
72 74
73 Function _errorHandler(String stage) => (e, stack) { 75 Function _errorHandler(String stage) => (e, stack) {
74 if (stack == null && e is Error) { 76 if (stack == null && e is Error) {
75 stack = e.stackTrace; 77 stack = e.stackTrace;
76 } 78 }
77 if (result == null || result == PASS) { 79 if (result == null || result == PASS) {
78 if (e is TestFailure) { 80 if (e is TestFailure) {
79 fail("$e", stack); 81 _fail("$e", stack);
80 } else { 82 } else {
81 error("$stage failed: Caught $e", stack); 83 _error("$stage failed: Caught $e", stack);
82 } 84 }
83 } 85 }
84 }; 86 };
85 87
86 /** 88 /**
87 * Perform any associated [_setUp] function and run the test. Returns 89 * Perform any associated [_setUp] function and run the test. Returns
88 * a [Future] that can be used to schedule the next test. If the test runs 90 * a [Future] that can be used to schedule the next test. If the test runs
89 * to completion synchronously, or is disabled, null is returned, to 91 * to completion synchronously, or is disabled, null is returned, to
90 * tell unittest to schedule the next test immediately. 92 * tell unittest to schedule the next test immediately.
91 */ 93 */
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 } 155 }
154 } 156 }
155 _setResult(testResult, messageText, stack); 157 _setResult(testResult, messageText, stack);
156 if (_testComplete != null) { 158 if (_testComplete != null) {
157 var t = _testComplete; 159 var t = _testComplete;
158 _testComplete = null; 160 _testComplete = null;
159 t.complete(this); 161 t.complete(this);
160 } 162 }
161 } 163 }
162 164
163 void pass() { 165 void _pass() {
164 _complete(PASS); 166 _complete(PASS);
165 } 167 }
166 168
167 void fail(String messageText, [StackTrace stack]) { 169 void _fail(String messageText, [StackTrace stack]) {
168 if (result != null) { 170 if (result != null) {
169 String newMessage = (result == PASS) 171 String newMessage = (result == PASS)
170 ? 'Test failed after initially passing: $messageText' 172 ? 'Test failed after initially passing: $messageText'
171 : 'Test failed more than once: $messageText'; 173 : 'Test failed more than once: $messageText';
172 // TODO(gram): Should we combine the stack with the old one? 174 // TODO(gram): Should we combine the stack with the old one?
173 _complete(ERROR, newMessage, stack); 175 _complete(ERROR, newMessage, stack);
174 } else { 176 } else {
175 _complete(FAIL, messageText, stack); 177 _complete(FAIL, messageText, stack);
176 } 178 }
177 } 179 }
178 180
179 void error(String messageText, [StackTrace stack]) { 181 void _error(String messageText, [StackTrace stack]) {
180 _complete(ERROR, messageText, stack); 182 _complete(ERROR, messageText, stack);
181 } 183 }
182 184
183 void _markCallbackComplete() { 185 void _markCallbackComplete() {
184 if (--_callbackFunctionsOutstanding == 0 && !isComplete) { 186 if (--_callbackFunctionsOutstanding == 0 && !isComplete) {
185 pass(); 187 _pass();
186 } 188 }
187 } 189 }
188 190
189 String toString() => _result != null ? "$description: $result" : description; 191 String toString() => _result != null ? "$description: $result" : description;
190 } 192 }
OLDNEW
« no previous file with comments | « pkg/unittest/lib/src/spread_args_helper.dart ('k') | pkg/unittest/lib/unittest.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698