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

Unified Diff: tests/corelib/src/FutureTest.dart

Issue 10244009: test rename overhaul: step 7 - corelib tests (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 8 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
Index: tests/corelib/src/FutureTest.dart
diff --git a/tests/corelib/src/FutureTest.dart b/tests/corelib/src/FutureTest.dart
deleted file mode 100644
index 967abbbf6618f814ab744b748b976a85a8b8c205..0000000000000000000000000000000000000000
--- a/tests/corelib/src/FutureTest.dart
+++ /dev/null
@@ -1,299 +0,0 @@
-// Copyright (c) 2012, 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.
-
-// Tests for Future.immediate
-
-testImmediate() {
- final future = new Future<String>.immediate("42");
- Expect.isTrue(future.isComplete);
- Expect.isTrue(future.hasValue);
- var value = null;
- future.then((x) => value = x);
- Expect.equals("42", value);
-}
-
-// Tests for getters (value, exception, isComplete, isValue)
-
-testNeverComplete() {
- final completer = new Completer<int>();
- final future = completer.future;
- Expect.isFalse(future.isComplete);
- Expect.isFalse(future.hasValue);
- Expect.throws(() { future.value; });
- Expect.throws(() { future.exception; });
-}
-
-testComplete() {
- final completer = new Completer<int>();
- final future = completer.future;
-
- completer.complete(3);
-
- Expect.isTrue(future.isComplete);
- Expect.isTrue(future.hasValue);
- Expect.equals(3, future.value);
- Expect.isNull(future.exception);
-}
-
-// Tests for [then]
-
-testCompleteWithHandlerBeforeComplete() {
- final completer = new Completer<int>();
- final future = completer.future;
-
- int before;
- future.then((int v) { before = v; });
- Expect.throws(() { future.value; });
- Expect.isNull(before);
- completer.complete(3);
-
- Expect.equals(3, future.value);
- Expect.equals(3, before);
-}
-
-testCompleteWithHandlerAfterComplete() {
- final completer = new Completer<int>();
- final future = completer.future;
-
- int after;
- completer.complete(3);
- Expect.equals(3, future.value);
- Expect.isNull(after);
-
- future.then((int v) { after = v; });
-
- Expect.equals(3, future.value);
- Expect.equals(3, after);
-}
-
-testCompleteManyHandlers() {
- final completer = new Completer<int>();
- final future = completer.future;
- int after1;
- int after2;
- int after3;
-
- future.then((int v) { after1 = v; });
- completer.complete(3);
- future.then((int v) { after2 = v; });
- future.then((int v) { after3 = v; });
-
- Expect.equals(3, future.value);
- Expect.equals(3, after1);
- Expect.equals(3, after2);
- Expect.equals(3, after3);
-}
-
-// Tests for [handleException]
-
-testException() {
- final completer = new Completer<int>();
- final future = completer.future;
- final ex = new Exception();
- future.then((_) {}); // exception is thrown if we plan to use the value
- Expect.throws(
- () { completer.completeException(ex); },
- check: (e) => e == ex);
-}
-
-testExceptionNoListeners() {
- final completer = new Completer<int>();
- final future = completer.future;
- final ex = new Exception();
- completer.completeException(ex); // future.then is not called, so no exception
-}
-
-testExceptionHandler() {
- final completer = new Completer<int>();
- final future = completer.future;
- final ex = new Exception();
-
- var ex2;
- future.handleException((e) { ex2 = e; return true; });
- completer.completeException(ex);
- Expect.equals(ex, ex2);
-}
-
-testExceptionHandlerReturnsTrue() {
- final completer = new Completer<int>();
- final future = completer.future;
- final ex = new Exception();
-
- bool reached = false;
- future.handleException((e) { return true; });
- future.handleException((e) { reached = true; return false; }); // overshadowed
- completer.completeException(ex);
- Expect.isFalse(reached);
-}
-
-testExceptionHandlerReturnsTrue2() {
- final completer = new Completer<int>();
- final future = completer.future;
- final ex = new Exception();
-
- bool reached = false;
- future.handleException((e) { return false; });
- future.handleException((e) { reached = true; return true; });
- completer.completeException(ex);
- Expect.isTrue(reached);
-}
-
-testExceptionHandlerReturnsFalse() {
- final completer = new Completer<int>();
- final future = completer.future;
- final ex = new Exception();
-
- bool reached = false;
- future.then((_) {}); // ensure exception is thrown...
- future.handleException((e) { return false; });
- future.handleException((e) { reached = true; return false; }); // overshadowed
- Expect.throws(
- () { completer.completeException(ex); },
- check: (e) => e == ex);
- Expect.isTrue(reached);
-}
-
-testExceptionHandlerReturnsFalse2() {
- final completer = new Completer<int>();
- final future = completer.future;
- final ex = new Exception();
-
- bool reached = false;
- future.handleException((e) { return false; });
- future.handleException((e) { reached = true; return false; }); // overshadowed
- completer.completeException(ex); // future.then is not called, so no exception
- Expect.isTrue(reached);
-}
-
-testExceptionHandlerAfterCompleteThenNotCalled() {
- final completer = new Completer<int>();
- final future = completer.future;
- final ex = new Exception();
-
- var ex2;
- completer.completeException(ex);
- future.handleException((e) { ex2 = e; return true; });
- future.then((e) { });
- Expect.equals(ex, ex2);
-}
-
-testExceptionHandlerAfterCompleteReturnsFalseThenThrows() {
- final completer = new Completer<int>();
- final future = completer.future;
- final ex = new Exception();
-
- var ex2;
- completer.completeException(ex);
- future.handleException((e) { ex2 = e; return false; });
- Expect.throws(() { future.then((e) { }); });
- Expect.equals(ex, ex2);
-}
-
-// Tests for Future.transform
-
-testTransformSuccess() {
- final completer = new Completer<String>();
- final transformedFuture = completer.future.transform((x) => "** $x **");
- Expect.isFalse(transformedFuture.isComplete);
- completer.complete("42");
- Expect.equals("** 42 **", transformedFuture.value);
-}
-
-testTransformFutureFails() {
- final completer = new Completer<String>();
- final error = new Exception("Oh no!");
- final transformedFuture = completer.future.transform((x) {
- Expect.fail("transformer shouldn't be called");
- });
- Expect.isFalse(transformedFuture.isComplete);
- completer.completeException(error);
- Expect.equals(error, transformedFuture.exception);
-}
-
-testTransformTransformerFails() {
- final completer = new Completer<String>();
- final error = new Exception("Oh no!");
- final transformedFuture = completer.future.transform((x) { throw error; });
- Expect.isFalse(transformedFuture.isComplete);
- completer.complete("42");
- Expect.equals(error, transformedFuture.exception);
-}
-
-// Tests for Future.chain
-
-testChainSuccess() {
- final completerA = new Completer<String>();
- final completerB = new Completer<String>();
- final chainedFuture = completerA.future.chain((x) {
- Expect.equals("42", x);
- return completerB.future;
- });
- Expect.isFalse(chainedFuture.isComplete);
- completerA.complete("42");
- Expect.isFalse(chainedFuture.isComplete);
- completerB.complete("43");
- Expect.equals("43", chainedFuture.value);
-}
-
-testChainFirstFutureFails() {
- final completerA = new Completer<String>();
- final error = new Exception("Oh no!");
- final chainedFuture = completerA.future.chain((x) {
- Expect.fail("transformer shouldn't be called");
- });
- Expect.isFalse(chainedFuture.isComplete);
- completerA.completeException(error);
- Expect.equals(error, chainedFuture.exception);
-}
-
-testChainTransformerFails() {
- final completerA = new Completer<String>();
- final error = new Exception("Oh no!");
- final chainedFuture = completerA.future.chain((x) {
- Expect.equals("42", x);
- throw error;
- });
- Expect.isFalse(chainedFuture.isComplete);
- completerA.complete("42");
- Expect.equals(error, chainedFuture.exception);
-}
-
-testChainSecondFutureFails() {
- final completerA = new Completer<String>();
- final completerB = new Completer<String>();
- final error = new Exception("Oh no!");
- final chainedFuture = completerA.future.chain((x) {
- Expect.equals("42", x);
- return completerB.future;
- });
- Expect.isFalse(chainedFuture.isComplete);
- completerA.complete("42");
- Expect.isFalse(chainedFuture.isComplete);
- completerB.completeException(error);
- Expect.equals(error, chainedFuture.exception);
-}
-
-main() {
- testImmediate();
- testNeverComplete();
- testComplete();
- testCompleteWithHandlerBeforeComplete();
- testCompleteWithHandlerAfterComplete();
- testCompleteManyHandlers();
- testException();
- testExceptionHandler();
- testExceptionHandlerReturnsTrue();
- testExceptionHandlerReturnsTrue2();
- testExceptionHandlerReturnsFalse();
- testExceptionHandlerReturnsFalse2();
- testExceptionHandlerAfterCompleteThenNotCalled();
- testExceptionHandlerAfterCompleteReturnsFalseThenThrows();
- testTransformSuccess();
- testTransformFutureFails();
- testTransformTransformerFails();
- testChainSuccess();
- testChainFirstFutureFails();
- testChainTransformerFails();
- testChainSecondFutureFails();
-}

Powered by Google App Engine
This is Rietveld 408576698