| 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 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  Loading... | 
| 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  Loading... | 
| 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 } | 
| OLD | NEW | 
|---|