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

Unified Diff: lib/src/group_context.dart

Issue 869043002: Clean up unittest a bunch. (Closed) Base URL: git@github.com:dart-lang/unittest@master
Patch Set: Code review changes Created 5 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « lib/src/expected_function.dart ('k') | lib/src/internal_test_case.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/src/group_context.dart
diff --git a/lib/src/group_context.dart b/lib/src/group_context.dart
index d44b6cd3fec4a21a7c82ab2795b99fa5cd06e5ce..78f347b4d32328caddb35b7ab6f542de4204d5f2 100644
--- a/lib/src/group_context.dart
+++ b/lib/src/group_context.dart
@@ -1,65 +1,75 @@
-part of unittest;
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library unittest.group_context;
+
+import 'dart:async';
+
+import '../unittest.dart';
/// Setup and teardown functions for a group and its parents, the latter
/// for chaining.
-class _GroupContext {
- final _GroupContext parent;
+class GroupContext {
+ /// The parent context, or `null`.
+ final GroupContext parent;
+
+ /// Whether this is the root context.
+ bool get isRoot => parent == null;
/// Description text of the current test group.
final String _name;
- /// Setup function called before each test in a group.
- Function _testSetup;
-
- get testSetup => _testSetup;
-
- get parentSetup => (parent == null) ? null : parent.testSetup;
+ /// The set-up function called before each test in a group.
+ Function get testSetUp => _testSetUp;
+ Function _testSetUp;
- set testSetup(Function setup) {
- var preSetup = parentSetup;
- if (preSetup == null) {
- _testSetup = setup;
- } else {
- _testSetup = () {
- var f = preSetup();
- if (f is Future) {
- return f.then((_) => setup());
- } else {
- return setup();
- }
- };
+ set testSetUp(Function setUp) {
+ if (parent == null || parent.testSetUp == null) {
+ _testSetUp = setUp;
+ return;
}
- }
-
- /// Teardown function called after each test in a group.
- Function _testTeardown;
- get testTeardown => _testTeardown;
+ _testSetUp = () {
+ var f = parent.testSetUp();
+ if (f is Future) {
+ return f.then((_) => setUp());
+ } else {
+ return setUp();
+ }
+ };
+ }
- get parentTeardown => (parent == null) ? null : parent.testTeardown;
+ /// The tear-down function called after each test in a group.
+ Function get testTearDown => _testTearDown;
+ Function _testTearDown;
- set testTeardown(Function teardown) {
- var postTeardown = parentTeardown;
- if (postTeardown == null) {
- _testTeardown = teardown;
- } else {
- _testTeardown = () {
- var f = teardown();
- if (f is Future) {
- return f.then((_) => postTeardown());
- } else {
- return postTeardown();
- }
- };
+ set testTearDown(Function tearDown) {
+ if (parent == null || parent.testTearDown == null) {
+ _testTearDown = tearDown;
+ return;
}
+
+ _testTearDown = () {
+ var f = tearDown();
+ if (f is Future) {
+ return f.then((_) => parent.testTearDown());
+ } else {
+ return parent.testTearDown();
+ }
+ };
}
- String get fullName => (parent == null || parent == _environment.rootContext)
- ? _name
- : "${parent.fullName}$groupSep$_name";
+ /// Returns the fully-qualified name of this context.
+ String get fullName =>
+ (isRoot || parent.isRoot) ? _name : "${parent.fullName}$groupSep$_name";
+
+ GroupContext.root()
+ : parent = null,
+ _name = '';
- _GroupContext([this.parent, this._name = '']) {
- _testSetup = parentSetup;
- _testTeardown = parentTeardown;
+ GroupContext(this.parent, this._name) {
+ _testSetUp = parent.testSetUp;
+ _testTearDown = parent.testTearDown;
}
}
« no previous file with comments | « lib/src/expected_function.dart ('k') | lib/src/internal_test_case.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698