| Index: mojo/public/dart/third_party/test/test/runner/browser/internet_explorer_test.dart
|
| diff --git a/mojo/public/dart/third_party/test/test/runner/browser/internet_explorer_test.dart b/mojo/public/dart/third_party/test/test/runner/browser/internet_explorer_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f363f4436501231b17a23c2abef3363297176bf1
|
| --- /dev/null
|
| +++ b/mojo/public/dart/third_party/test/test/runner/browser/internet_explorer_test.dart
|
| @@ -0,0 +1,84 @@
|
| +// 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.
|
| +
|
| +@TestOn("vm && windows")
|
| +
|
| +import 'package:scheduled_test/descriptor.dart' as d;
|
| +import 'package:scheduled_test/scheduled_stream.dart';
|
| +import 'package:scheduled_test/scheduled_test.dart';
|
| +import 'package:test/src/runner/browser/internet_explorer.dart';
|
| +
|
| +import '../../io.dart';
|
| +import '../../utils.dart';
|
| +import 'code_server.dart';
|
| +
|
| +void main() {
|
| + useSandbox();
|
| +
|
| + test("starts IE with the given URL", () async {
|
| + var server = new CodeServer();
|
| +
|
| + schedule(() async {
|
| + var ie = new InternetExplorer(await server.url);
|
| + currentSchedule.onComplete.schedule(() async => (await ie).close());
|
| + });
|
| +
|
| + server.handleJavaScript('''
|
| +var webSocket = new WebSocket(window.location.href.replace("http://", "ws://"));
|
| +webSocket.addEventListener("open", function() {
|
| + webSocket.send("loaded!");
|
| +});
|
| +''');
|
| +
|
| + var webSocket = server.handleWebSocket();
|
| +
|
| + schedule(() async {
|
| + expect(await (await webSocket).first, equals("loaded!"));
|
| + });
|
| + });
|
| +
|
| + test("a process can be killed synchronously after it's started", () async {
|
| + var server = new CodeServer();
|
| +
|
| + schedule(() async {
|
| + var ie = new InternetExplorer(await server.url);
|
| + await ie.close();
|
| + });
|
| + });
|
| +
|
| + test("reports an error in onExit", () {
|
| + var ie = new InternetExplorer("http://dart-lang.org",
|
| + executable: "_does_not_exist");
|
| + expect(ie.onExit, throwsA(isApplicationException(startsWith(
|
| + "Failed to run Internet Explorer: $noSuchFileMessage"))));
|
| + });
|
| +
|
| + test("can run successful tests", () {
|
| + d.file("test.dart", """
|
| +import 'package:test/test.dart';
|
| +
|
| +void main() {
|
| + test("success", () {});
|
| +}
|
| +""").create();
|
| +
|
| + var test = runTest(["-p", "ie", "test.dart"]);
|
| + test.stdout.expect(consumeThrough(contains("+1: All tests passed!")));
|
| + test.shouldExit(0);
|
| + });
|
| +
|
| + test("can run failing tests", () {
|
| + d.file("test.dart", """
|
| +import 'package:test/test.dart';
|
| +
|
| +void main() {
|
| + test("failure", () => throw new TestFailure("oh no"));
|
| +}
|
| +""").create();
|
| +
|
| + var test = runTest(["-p", "ie", "test.dart"]);
|
| + test.stdout.expect(consumeThrough(contains("-1: Some tests failed.")));
|
| + test.shouldExit(1);
|
| + });
|
| +}
|
|
|