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

Unified Diff: lib/src/runner/browser/platform.dart

Issue 2184543002: Use the package_resolver package. (Closed) Base URL: git@github.com:dart-lang/test@master
Patch Set: Created 4 years, 5 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/runner/browser/compiler_pool.dart ('k') | lib/src/runner/configuration.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/src/runner/browser/platform.dart
diff --git a/lib/src/runner/browser/platform.dart b/lib/src/runner/browser/platform.dart
index e4302314a996296b77ba6597466df7114799484b..0d84ccca5b9e8d94084d1eeb05cbc7efa5f51f8b 100644
--- a/lib/src/runner/browser/platform.dart
+++ b/lib/src/runner/browser/platform.dart
@@ -8,12 +8,14 @@ import 'dart:io';
import 'package:async/async.dart';
import 'package:http_multi_server/http_multi_server.dart';
+import 'package:package_resolver/package_resolver.dart';
import 'package:path/path.dart' as p;
import 'package:pool/pool.dart';
import 'package:shelf/shelf.dart' as shelf;
import 'package:shelf/shelf_io.dart' as shelf_io;
import 'package:shelf_static/shelf_static.dart';
import 'package:shelf_web_socket/shelf_web_socket.dart';
+import 'package:shelf_packages_handler/shelf_packages_handler.dart';
import 'package:stream_channel/stream_channel.dart';
import 'package:web_socket_channel/web_socket_channel.dart';
@@ -120,7 +122,7 @@ class BrowserPlatform extends PlatformPlugin {
if (_config.pubServeUrl == null) {
cascade = cascade
- .add(_createPackagesHandler())
+ .add(packagesDirHandler())
.add(_jsHandler.handler)
.add(createStaticHandler(_root))
.add(_wrapperHandler);
@@ -131,33 +133,12 @@ class BrowserPlatform extends PlatformPlugin {
}
var pipeline = new shelf.Pipeline()
- .addMiddleware(nestingMiddleware(_secret))
- .addHandler(cascade.handler);
+ .addMiddleware(nestingMiddleware(_secret))
+ .addHandler(cascade.handler);
_server.mount(pipeline);
}
- /// Returns a handler that serves the contents of the "packages/" directory
- /// for any URL that contains "packages/".
- ///
- /// This is a factory so it can wrap a static handler.
- shelf.Handler _createPackagesHandler() {
- var staticHandler =
- createStaticHandler(_config.packageRoot, serveFilesOutsidePath: true);
-
- return (request) {
- var segments = p.url.split(request.url.path);
-
- for (var i = 0; i < segments.length; i++) {
- if (segments[i] != "packages") continue;
- return staticHandler(
- request.change(path: p.url.joinAll(segments.take(i + 1))));
- }
-
- return new shelf.Response.notFound("Not found.");
- };
- }
-
/// A handler that serves wrapper files used to bootstrap tests.
shelf.Response _wrapperHandler(shelf.Request request) {
var path = p.fromUri(request.url);
@@ -317,7 +298,8 @@ class BrowserPlatform extends PlatformPlugin {
_mappers[path] = new StackTraceMapper(
await UTF8.decodeStream(response),
mapUrl: url,
- packageRoot: _config.pubServeUrl.resolve('packages'),
+ packageResolver: new SyncPackageResolver.root(
+ _config.pubServeUrl.resolve('packages')),
sdkRoot: _config.pubServeUrl.resolve('packages/\$sdk'));
return;
}
@@ -349,8 +331,7 @@ class BrowserPlatform extends PlatformPlugin {
var dir = new Directory(_compiledDir).createTempSync('test_').path;
var jsPath = p.join(dir, p.basename(dartPath) + ".browser_test.dart.js");
- await _compilers.compile(dartPath, jsPath,
- packageRoot: _config.packageRoot);
+ await _compilers.compile(dartPath, jsPath);
if (_closed) return;
var jsUrl = p.toUri(p.relative(dartPath, from: _root)).path +
@@ -373,7 +354,7 @@ class BrowserPlatform extends PlatformPlugin {
_mappers[dartPath] = new StackTraceMapper(
new File(mapPath).readAsStringSync(),
mapUrl: p.toUri(mapPath),
- packageRoot: p.toUri(_config.packageRoot),
+ packageResolver: await PackageResolver.current.asSync,
sdkRoot: p.toUri(sdkDir));
});
}
« no previous file with comments | « lib/src/runner/browser/compiler_pool.dart ('k') | lib/src/runner/configuration.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698