| Index: lib/src/runner/browser/server.dart
|
| diff --git a/lib/src/runner/browser/server.dart b/lib/src/runner/browser/server.dart
|
| index eacec516f7e273e5b1fbe3ea82429c6f393fdc8a..fcfea2fdb2b846b237d60e591365b8be77954b90 100644
|
| --- a/lib/src/runner/browser/server.dart
|
| +++ b/lib/src/runner/browser/server.dart
|
| @@ -41,13 +41,15 @@ class BrowserServer {
|
| /// the working directory.
|
| ///
|
| /// If [packageRoot] is passed, it's used for all package imports when
|
| - /// compiling tests to JS. Otherwise, the package root is inferred from the
|
| - /// location of the source file.
|
| + /// compiling tests to JS. Otherwise, the package root is inferred from
|
| + /// [root].
|
| ///
|
| /// If [pubServeUrl] is passed, tests will be loaded from the `pub serve`
|
| /// instance at that URL rather than from the filesystem.
|
| ///
|
| /// If [color] is true, console colors will be used when compiling Dart.
|
| + ///
|
| + /// If the package root doesn't exist, throws an [ApplicationException].
|
| static Future<BrowserServer> start({String root, String packageRoot,
|
| Uri pubServeUrl, bool color: false}) {
|
| var server = new BrowserServer._(root, packageRoot, pubServeUrl, color);
|
| @@ -88,7 +90,7 @@ class BrowserServer {
|
| /// The root directory served statically by this server.
|
| final String _root;
|
|
|
| - /// The package root which is passed to `dart2js`.
|
| + /// The package root.
|
| final String _packageRoot;
|
|
|
| /// The URL for the `pub serve` instance to use to load tests.
|
| @@ -129,8 +131,9 @@ class BrowserServer {
|
| /// per run, rather than one per browser per run.
|
| final _compileFutures = new Map<String, Future>();
|
|
|
| - BrowserServer._(String root, this._packageRoot, Uri pubServeUrl, bool color)
|
| + BrowserServer._(String root, String packageRoot, Uri pubServeUrl, bool color)
|
| : _root = root == null ? p.current : root,
|
| + _packageRoot = packageRootFor(root, packageRoot),
|
| _pubServeUrl = pubServeUrl,
|
| _compiledDir = pubServeUrl == null ? createTempDir() : null,
|
| _http = pubServeUrl == null ? null : new HttpClient(),
|
| @@ -163,11 +166,8 @@ class BrowserServer {
|
| ///
|
| /// This is a factory so it can wrap a static handler.
|
| shelf.Handler _createPackagesHandler() {
|
| - var packageRoot = _packageRoot == null
|
| - ? p.join(_root, 'packages')
|
| - : _packageRoot;
|
| var staticHandler =
|
| - createStaticHandler(packageRoot, serveFilesOutsidePath: true);
|
| + createStaticHandler(_packageRoot, serveFilesOutsidePath: true);
|
|
|
| return (request) {
|
| var segments = p.url.split(shelfUrl(request).path);
|
| @@ -299,8 +299,7 @@ void main() {
|
| var dir = new Directory(_compiledDir).createTempSync('test_').path;
|
| var jsPath = p.join(dir, p.basename(dartPath) + ".js");
|
|
|
| - return _compilers.compile(dartPath, jsPath,
|
| - packageRoot: packageRootFor(dartPath, _packageRoot))
|
| + return _compilers.compile(dartPath, jsPath, packageRoot: _packageRoot)
|
| .then((_) {
|
| if (_closed) return;
|
|
|
|
|