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

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

Issue 638433003: Adding a reason field to expectAsync and expectAsyncUntil (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Merging master Created 6 years, 2 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/pubspec.yaml » ('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 /// Support for writing Dart unit tests. 5 /// Support for writing Dart unit tests.
6 /// 6 ///
7 /// For information on installing and importing this library, see the 7 /// For information on installing and importing this library, see the
8 /// [unittest package on pub.dartlang.org] 8 /// [unittest package on pub.dartlang.org]
9 /// (http://pub.dartlang.org/packages/unittest). 9 /// (http://pub.dartlang.org/packages/unittest).
10 /// 10 ///
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 /// [expectAsync] will also ensure that errors that occur within [callback] are 290 /// [expectAsync] will also ensure that errors that occur within [callback] are
291 /// tracked and reported. [callback] should take 0 positional arguments (named 291 /// tracked and reported. [callback] should take 0 positional arguments (named
292 /// arguments are not supported). [id] can be used to provide more 292 /// arguments are not supported). [id] can be used to provide more
293 /// descriptive error messages if the callback is called more often than 293 /// descriptive error messages if the callback is called more often than
294 /// expected. [max] can be used to specify an upper bound on the number of 294 /// expected. [max] can be used to specify an upper bound on the number of
295 /// calls; if this is exceeded the test will fail (or be marked as in error if 295 /// calls; if this is exceeded the test will fail (or be marked as in error if
296 /// it was already complete). A value of 0 for [max] (the default) will set 296 /// it was already complete). A value of 0 for [max] (the default) will set
297 /// the upper bound to the same value as [count]; i.e. the callback should be 297 /// the upper bound to the same value as [count]; i.e. the callback should be
298 /// called exactly [count] times. A value of -1 for [max] will mean no upper 298 /// called exactly [count] times. A value of -1 for [max] will mean no upper
299 /// bound. 299 /// bound.
300 ///
301 /// [reason] is optional and is typically not supplied, as a reason is generated
302 /// by the unittest package; if reason is included it is appended to the
303 /// generated reason.
300 Function expectAsync(Function callback, 304 Function expectAsync(Function callback,
301 {int count: 1, int max: 0, String id}) => 305 {int count: 1, int max: 0, String id, String reason}) =>
302 new _SpreadArgsHelper(callback, count, max, id).func; 306 new _SpreadArgsHelper(callback, count, max, id, reason).func;
303 307
304 /// Indicate that [callback] is expected to be called until [isDone] returns 308 /// Indicate that [callback] is expected to be called until [isDone] returns
305 /// true. The unittest framework check [isDone] after each callback and only 309 /// true. The unittest framework check [isDone] after each callback and only
306 /// when it returns true will it continue with the following test. Using 310 /// when it returns true will it continue with the following test. Using
307 /// [expectAsyncUntil] will also ensure that errors that occur within 311 /// [expectAsyncUntil] will also ensure that errors that occur within
308 /// [callback] are tracked and reported. [callback] should take 0 positional 312 /// [callback] are tracked and reported. [callback] should take 0 positional
309 /// arguments (named arguments are not supported). [id] can be used to 313 /// arguments (named arguments are not supported). [id] can be used to
310 /// identify the callback in error messages (for example if it is called 314 /// identify the callback in error messages (for example if it is called
311 /// after the test case is complete). 315 /// after the test case is complete).
312 Function expectAsyncUntil(Function callback, bool isDone(), {String id}) => 316 ///
313 new _SpreadArgsHelper(callback, 0, -1, id, isDone: isDone).func; 317 /// [reason] is optional and is typically not supplied, as a reason is generated
318 /// by the unittest package; if reason is included it is appended to the
319 /// generated reason.
320 Function expectAsyncUntil(Function callback, bool isDone(),
321 {String id, String reason}) =>
322 new _SpreadArgsHelper(callback, 0, -1, id, reason, isDone: isDone).func;
314 323
315 /// Creates a new named group of tests. Calls to group() or test() within the 324 /// Creates a new named group of tests. Calls to group() or test() within the
316 /// body of the function passed to this will inherit this group's description. 325 /// body of the function passed to this will inherit this group's description.
317 void group(String description, void body()) { 326 void group(String description, void body()) {
318 ensureInitialized(); 327 ensureInitialized();
319 _requireNotRunning(); 328 _requireNotRunning();
320 _currentContext = new _GroupContext(_currentContext, description); 329 _currentContext = new _GroupContext(_currentContext, description);
321 try { 330 try {
322 body(); 331 body();
323 } catch (e, trace) { 332 } catch (e, trace) {
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
555 564
556 /// A flag that controls whether we try to filter out irrelevant frames from 565 /// A flag that controls whether we try to filter out irrelevant frames from
557 /// the stack trace. Requires formatStacks to be set. 566 /// the stack trace. Requires formatStacks to be set.
558 bool filterStacks = true; 567 bool filterStacks = true;
559 568
560 void _requireNotRunning() { 569 void _requireNotRunning() {
561 if (_currentTestCaseIndex != -1) { 570 if (_currentTestCaseIndex != -1) {
562 throw new StateError('Not allowed when tests are running.'); 571 throw new StateError('Not allowed when tests are running.');
563 } 572 }
564 } 573 }
OLDNEW
« no previous file with comments | « pkg/unittest/lib/src/spread_args_helper.dart ('k') | pkg/unittest/pubspec.yaml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698