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

Unified Diff: tests/fletch_tests/zone_helper_tests.dart

Issue 1659163007: Rename fletch -> dartino (Closed) Base URL: https://github.com/dartino/sdk.git@master
Patch Set: address comments Created 4 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 | « tests/fletch_tests/verb_tests.dart ('k') | tests/fletchc/driver/mock_vm.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/fletch_tests/zone_helper_tests.dart
diff --git a/tests/fletch_tests/zone_helper_tests.dart b/tests/fletch_tests/zone_helper_tests.dart
deleted file mode 100644
index 7c0dc3aabe91070e109abc4613992bd3b4a34461..0000000000000000000000000000000000000000
--- a/tests/fletch_tests/zone_helper_tests.dart
+++ /dev/null
@@ -1,194 +0,0 @@
-// Copyright (c) 2015, the Dartino 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.md file.
-
-/// Tests of 'package:fletchc/src/zone_helper.dart'.
-library fletch_tests.zone_helper_tests;
-
-import 'dart:async';
-
-import 'dart:isolate';
-
-import 'package:fletchc/src/zone_helper.dart';
-
-import 'package:expect/expect.dart';
-
-import 'dart:io' show
- Platform;
-
-final Uri fileWithCompileTimeError =
- Uri.base.resolve("tests/fletch_tests/file_with_compile_time_error.dart");
-
-/// Test that runGuarded completes with an error when a synchronous error is
-/// thrown.
-testEarlySyncError() {
- bool threw = false;
- return runGuarded(() {
- throw "Early error";
- }, handleLateError: (e, s) {
- throw "Broken";
- }).catchError((e) {
- Expect.stringEquals("Early error", e);
- threw = true;
- }).then((_) {
- Expect.isTrue(threw);
- });
-}
-
-/// Test that runGuarded completes with an error when an asynchronous error is
-/// thrown.
-testEarlyAsyncError() {
- bool threw = false;
- return runGuarded(() {
- return new Future.error("Early error");
- }, handleLateError: (e, s) {
- throw "Broken";
- }).catchError((e) {
- Expect.stringEquals("Early error", e);
- threw = true;
- }).then((_) {
- Expect.isTrue(threw);
- });
-}
-
-/// Test that handleLateError is invoked if a late asynchronous error occurs.
-testLateError() {
- Completer completer = new Completer();
- bool threw = false;
- return runGuarded(() {
- new Future(() {
- throw "Late error";
- });
- return new Future.value(42);
- }, handleLateError: (e, s) {
- completer.complete(e);
- }).catchError((_) {
- threw = true;
- }).then((value) {
- Expect.isFalse(threw);
- Expect.equals(42, value);
- return completer.future;
- }).then((String value) {
- Expect.stringEquals("Late error", value);
- });
-}
-
-/// Helper for [testUnhandledLateError].
-testUnhandledLateErrorIsolate(_) {
- bool threw = false;
- return runGuarded(() {
- new Future(() {
- throw "Late error";
- });
- return new Future.value(0);
- }).catchError((_) {
- threw = true;
- }).then((_) {
- Expect.isFalse(threw);
- });
-}
-
-/// Test that a late asynchronous error is passed to the parent zone if no
-/// handleLateError is provided (the parent zone being Zone.ROOT).
-testUnhandledLateError() async {
- Isolate isolate =
- await Isolate.spawn(testUnhandledLateErrorIsolate, null, paused: true);
- ReceivePort exitPort = new ReceivePort();
- ReceivePort errorPort = new ReceivePort();
- isolate
- ..addOnExitListener(exitPort.sendPort)
- ..setErrorsFatal(false)
- ..addErrorListener(errorPort.sendPort);
- acknowledgeControlMessages(isolate, resume: isolate.pauseCapability);
- bool errorPortListenWasCalled = false;
- await errorPort.listen((errorList) {
- errorPort.close();
- errorPortListenWasCalled = true;
- var lines = errorList[0].split("\n");
- if (lines.length > 1) {
- // Bug (not getting the correct error from the system).
- Expect.isTrue(lines[0].endsWith("Late error"));
- } else {
- Expect.stringEquals("Late error", errorList[0]);
- }
- isolate.kill();
- }).asFuture();
- bool exitPortListenWasCalled = false;
- await exitPort.listen((message) {
- exitPortListenWasCalled = true;
- exitPort.close();
- Expect.isNull(message);
- }).asFuture();
- Expect.isTrue(errorPortListenWasCalled);
- Expect.isTrue(exitPortListenWasCalled);
- print("Test succeeded.");
-}
-
-/// Test that a bad test will fail, not crash the test runner.
-testAlwaysFails() async {
- await new Stream.fromIterable([null]).listen((_) {
- throw "BROKEN";
- }).asFuture();
-}
-
-testCompileTimeError() async {
- Isolate isolate;
- ReceivePort exitPort = new ReceivePort();
- ReceivePort errorPort = new ReceivePort();
- ReceivePort port = new ReceivePort();
-
- bool exited = false;
- bool hadError = false;
- var messageFromIsolate;
-
- Future exitFuture = exitPort.listen((_) {
- exited = true;
- exitPort.close();
- errorPort.close();
- port.close();
- }).asFuture();
-
- Future errorFuture = errorPort.listen((List message) {
- hadError = true;
- var error = message[0];
- var stackTrace = message[1];
- if (stackTrace != null) {
- print(stackTrace);
- }
- }).asFuture();
-
- Future portFuture = port.listen((message) {
- Expect.isNull(messageFromIsolate);
- messageFromIsolate = message;
- isolate.kill();
- }).asFuture();
-
- // The call to spawnUri will pick up the default .packages packages config.
- isolate = await Isolate.spawnUri(
- fileWithCompileTimeError, <String>[], port.sendPort, paused: true,
- checked: true);
-
- isolate.setErrorsFatal(true);
- isolate.addOnExitListener(exitPort.sendPort);
- isolate.addErrorListener(errorPort.sendPort);
- await acknowledgeControlMessages(isolate, resume: isolate.pauseCapability);
- await exitFuture;
- await errorFuture;
- await portFuture;
- Expect.isTrue(exited);
- Expect.isTrue(hadError);
- Expect.isNotNull(messageFromIsolate);
-
- print("Test passed, got message: $messageFromIsolate");
-
- // No-op call to let dart2js know this method is actually used.
- testCompileTimeErrorHelper(null, () {});
-}
-
-testCompileTimeErrorHelper(SendPort port, void methodWithCompileTimeError()) {
- return runGuarded(() {
- methodWithCompileTimeError();
- }).catchError((e, s) {
- port.send("Error in isolate: $e\nStack trace: $s");
- });
-}
« no previous file with comments | « tests/fletch_tests/verb_tests.dart ('k') | tests/fletchc/driver/mock_vm.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698