Support source maps in precompiled mode and support extended source maps.
BUG=
R=nweiz@google.com
Review URL: https://codereview.chromium.org//2557183002 .
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8daef33..adeab17 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.12.17+3
+
+* Internal changes only.
+
## 0.12.17+2
* Fix Dartium debugging on Windows.
diff --git a/lib/src/runner/browser/platform.dart b/lib/src/runner/browser/platform.dart
index 23968c6..31dc749 100644
--- a/lib/src/runner/browser/platform.dart
+++ b/lib/src/runner/browser/platform.dart
@@ -241,6 +241,19 @@
if (browser.isJS) {
if (_precompiled(suiteConfig, path)) {
if (_precompiledPaths.add(suiteConfig.precompiledPath)) {
+ if (!suiteConfig.jsTrace) {
+ var jsPath = p.join(suiteConfig.precompiledPath,
+ p.relative(path + ".browser_test.dart.js", from: _root));
+
+ var sourceMapPath = '${jsPath}.map';
+ if (new File(sourceMapPath).existsSync()) {
+ _mappers[path] = new StackTraceMapper(
+ new File(sourceMapPath).readAsStringSync(),
+ mapUrl: p.toUri(sourceMapPath),
+ packageResolver: await PackageResolver.current.asSync,
+ sdkRoot: p.toUri(sdkDir));
+ }
+ }
_precompiledCascade ??= new shelf.Cascade();
_precompiledCascade = _precompiledCascade.add(
createStaticHandler(suiteConfig.precompiledPath));
diff --git a/lib/src/util/stack_trace_mapper.dart b/lib/src/util/stack_trace_mapper.dart
index 04390fa..2299f47 100644
--- a/lib/src/util/stack_trace_mapper.dart
+++ b/lib/src/util/stack_trace_mapper.dart
@@ -17,11 +17,11 @@
/// The URI of the SDK root from which dart2js loaded its sources.
final Uri _sdkRoot;
- StackTraceMapper(String contents, {Uri mapUrl,
- SyncPackageResolver packageResolver, Uri sdkRoot})
- : _mapping = parse(contents, mapUrl: mapUrl),
- _packageResolver = packageResolver,
- _sdkRoot = sdkRoot;
+ StackTraceMapper(String contents,
+ {Uri mapUrl, SyncPackageResolver packageResolver, Uri sdkRoot})
+ : _mapping = parseExtended(contents, mapUrl: mapUrl),
+ _packageResolver = packageResolver,
+ _sdkRoot = sdkRoot;
/// Converts [trace] into a Dart stack trace.
StackTrace mapStackTrace(StackTrace trace) =>
diff --git a/pubspec.yaml b/pubspec.yaml
index 6095ac4..df8f9fa 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
name: test
-version: 0.12.17+2
+version: 0.12.17+3
author: Dart Team <misc@dartlang.org>
description: A library for writing dart unit tests.
homepage: https://github.com/dart-lang/test
@@ -22,8 +22,8 @@
shelf_packages_handler: '^1.0.0'
shelf_static: '^0.2.0'
shelf_web_socket: '^0.2.0'
- source_map_stack_trace: '^1.1.0'
- source_maps: '^0.10.1'
+ source_map_stack_trace: '^1.1.4'
+ source_maps: '^0.10.2'
source_span: '^1.0.0'
stack_trace: '^1.2.1'
stream_channel: '^1.3.1'