| Index: tests/compiler/dart2js/http_test.dart
|
| diff --git a/tests/compiler/dart2js/http_test.dart b/tests/compiler/dart2js/http_test.dart
|
| deleted file mode 100644
|
| index aed6ddd027eaa7ff24d513f142de6753fb32a89f..0000000000000000000000000000000000000000
|
| --- a/tests/compiler/dart2js/http_test.dart
|
| +++ /dev/null
|
| @@ -1,181 +0,0 @@
|
| -// Copyright (c) 2014, 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.
|
| -//
|
| -// Test:
|
| -// *) Compiling a script fetched over HTTP.
|
| -// *) Importing a library fetched over HTTP.
|
| -// *) Automatically resolving package_root when script is fetched over HTTP.
|
| -
|
| -library http_launch_test;
|
| -
|
| -import 'dart:async';
|
| -import 'dart:io';
|
| -import 'package:async_helper/async_helper.dart';
|
| -import 'package:expect/expect.dart';
|
| -import 'package:path/path.dart' as path;
|
| -
|
| -Uri pathOfData = Platform.script.resolve('http_launch_data/');
|
| -Directory tempDir;
|
| -String outFilePath;
|
| -
|
| -_sendNotFound(HttpResponse response) {
|
| - response.statusCode = HttpStatus.NOT_FOUND;
|
| - response.close();
|
| -}
|
| -
|
| -Future handleRequest(HttpRequest request) {
|
| - final String path = request.uri.path.substring(1);
|
| - final Uri requestPath = pathOfData.resolve(path);
|
| - final File file = new File(requestPath.toFilePath());
|
| - return file.exists().then((bool found) {
|
| - if (found) {
|
| - file.openRead()
|
| - .pipe(request.response)
|
| - .catchError((e) { _sendNotFound(request.response); });
|
| - } else {
|
| - _sendNotFound(request.response);
|
| - }
|
| - });
|
| -}
|
| -
|
| -Future launchDart2Js(args) {
|
| - String ext = Platform.isWindows ? '.bat' : '';
|
| - String command =
|
| - path.normalize(path.join(path.fromUri(Platform.script),
|
| - '../../../../sdk/bin/dart2js${ext}'));
|
| - return Process.run(command, args);
|
| -}
|
| -
|
| -void check(ProcessResult result) {
|
| - Expect.equals(0, result.exitCode);
|
| - File outFile = new File(outFilePath);
|
| - Expect.isTrue(outFile.existsSync());
|
| - Expect.isTrue(outFile.readAsStringSync().contains("hello http tester"));
|
| -}
|
| -
|
| -void checkNotFound(ProcessResult result, String filename) {
|
| - Expect.notEquals(0, result.exitCode);
|
| - File outFile = new File(outFilePath);
|
| - Expect.isTrue(result.stdout.contains("404"));
|
| - Expect.isTrue(result.stdout.contains(filename));
|
| -}
|
| -
|
| -cleanup() {
|
| - File outFile = new File(outFilePath);
|
| - if (outFile.existsSync()) {
|
| - outFile.deleteSync();
|
| - }
|
| -}
|
| -
|
| -Future testNonHttp() {
|
| - String inFilePath = pathOfData.resolve('http_launch_main.dart').toFilePath();
|
| - List<String> args = [inFilePath, "--out=" + outFilePath];
|
| - return launchDart2Js(args)
|
| - .then(check)
|
| - .then((_) { cleanup(); });
|
| -}
|
| -
|
| -Future testHttpMain(String serverUrl) {
|
| - String inFilePath = '$serverUrl/http_launch_main.dart';
|
| - List<String> args = [inFilePath, "--out=" + outFilePath];
|
| - return launchDart2Js(args)
|
| - .then(check)
|
| - .then((_) { cleanup(); });
|
| -}
|
| -
|
| -Future testHttpLib(String serverUrl) {
|
| - File file = new File(path.join(tempDir.path, "in.dart"));
|
| - file.writeAsStringSync("""
|
| - import '$serverUrl/lib1.dart';
|
| - main() { print(foo()); }
|
| - """);
|
| - String inFilePath = file.path;
|
| - List<String> args = [inFilePath, "--out=" + outFilePath];
|
| - return launchDart2Js(args)
|
| - .then(check)
|
| - .whenComplete(file.deleteSync)
|
| - .then((_) { cleanup(); });
|
| -}
|
| -
|
| -Future testHttpPackage(String serverUrl) {
|
| - String inFilePath =
|
| - pathOfData.resolve('http_launch_main_package.dart').toFilePath();
|
| - String packageRoot = '$serverUrl/packages/';
|
| - List<String> args = [inFilePath,
|
| - "--out=" + outFilePath,
|
| - "--package-root=" + packageRoot];
|
| - return launchDart2Js(args)
|
| - .then(check)
|
| - .then((_) { cleanup(); });
|
| -}
|
| -
|
| -Future testBadHttp(String serverUrl) {
|
| - File file = new File(path.join(tempDir.path, "in_bad.dart"));
|
| - file.writeAsStringSync("""
|
| - import '$serverUrl/not_existing.dart';
|
| - main() { print(foo()); }
|
| - """);
|
| - String inFilePath = file.path;
|
| - List<String> args = [inFilePath, "--out=" + outFilePath];
|
| - return launchDart2Js(args)
|
| - .then((pr) => checkNotFound(pr, "not_existing.dart"))
|
| - .whenComplete(file.deleteSync)
|
| - .then((_) { cleanup(); });
|
| -}
|
| -
|
| -Future testBadHttp2(String serverUrl) {
|
| - String inFilePath = '$serverUrl/not_found.dart';
|
| - List<String> args = [inFilePath, "--out=" + outFilePath];
|
| - return launchDart2Js(args)
|
| - .then((processResult) => checkNotFound(processResult, "not_found.dart"))
|
| - .then((_) { cleanup(); });
|
| -}
|
| -
|
| -serverRunning(HttpServer server, String scheme) {
|
| - tempDir = Directory.systemTemp.createTempSync('directory_test');
|
| - outFilePath = path.join(tempDir.path, "out.js");
|
| - int port = server.port;
|
| - String serverUrl = "$scheme://127.0.0.1:$port";
|
| -
|
| - asyncStart();
|
| - server.listen(handleRequest);
|
| - return new Future.value()
|
| - .then((_) => cleanup()) // Make sure we start fresh.
|
| - .then((_) => testNonHttp())
|
| - .then((_) => testHttpMain(serverUrl))
|
| - .then((_) => testHttpLib(serverUrl))
|
| - .then((_) => testHttpPackage(serverUrl))
|
| - .then((_) => testBadHttp(serverUrl))
|
| - .then((_) => testBadHttp2(serverUrl))
|
| - .whenComplete(() => tempDir.delete(recursive: true))
|
| - .whenComplete(server.close)
|
| - .then((_) => asyncEnd());
|
| -}
|
| -
|
| -Future testHttp() {
|
| - return HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 0)
|
| - .then((HttpServer server) => serverRunning(server, "http"));
|
| -}
|
| -
|
| -void initializeSSL() {
|
| - Uri pathOfPkcert = pathOfData.resolve('pkcert');
|
| - String testPkcertDatabase = pathOfPkcert.toFilePath();
|
| - SecureSocket.initialize(database: testPkcertDatabase,
|
| - password: 'dartdart');
|
| -}
|
| -
|
| -Future testHttps() {
|
| - initializeSSL();
|
| - return HttpServer.bindSecure(InternetAddress.LOOPBACK_IP_V4,
|
| - 0,
|
| - certificateName: 'localhost_cert')
|
| - .then((HttpServer server) => serverRunning(server, "https"));
|
| -}
|
| -
|
| -main() {
|
| - asyncStart();
|
| - testHttp()
|
| - .then((_) => testHttps)
|
| - .whenComplete(asyncEnd);
|
| -}
|
|
|