22// for details. All rights reserved. Use of this source code is governed by a
33// BSD-style license that can be found in the LICENSE file.
44
5- import 'package:package_resolver/package_resolver.dart' ;
65import 'package:path/path.dart' as p;
76import 'package:source_maps/source_maps.dart' ;
87import 'package:source_span/source_span.dart' ;
@@ -20,6 +19,11 @@ final _simpleMapping = parseJson((SourceMapBuilder()
2019 SourceLocation (18 , line: 15 , column: 0 ), '\n ' * 10 )))
2120 .build ('foo.dart.js.map' ));
2221
22+ final _packageMap = {
23+ 'bar' : Uri .parse ('packages/bar' ),
24+ 'foo' : Uri .parse ('packages/foo' ),
25+ };
26+
2327void main () {
2428 test ('maps a JS line and column to a Dart line and span' , () {
2529 var trace = Trace .parse ('foo.dart.js 10:11 foo' );
@@ -89,9 +93,7 @@ bar.dart.js 10:11 foo
8993
9094 var bundle = [sourceMapJson1, sourceMapJson2];
9195 var mapping = parseJsonExtended (bundle);
92- var frames = _mapTrace (mapping, trace,
93- packageResolver: SyncPackageResolver .root ('packages/' ))
94- .frames;
96+ var frames = _mapTrace (mapping, trace, packageMap: _packageMap).frames;
9597
9698 expect (frames.length, equals (3 ));
9799
@@ -127,26 +129,6 @@ bar.dart.js 10:11 foo
127129 expect (frame.column, equals (4 ));
128130 });
129131
130- test ('uses package: URIs for frames within packageResolver.packageRoot' , () {
131- var trace = Trace .parse ('foo.dart.js 10 foo' );
132- var builder = SourceMapBuilder ()
133- ..addSpan (
134- SourceMapSpan .identifier (
135- SourceLocation (1 ,
136- line: 1 , column: 3 , sourceUrl: 'packages/foo/foo.dart' ),
137- 'qux' ),
138- SourceSpan (SourceLocation (8 , line: 5 , column: 0 ),
139- SourceLocation (12 , line: 9 , column: 1 ), '\n ' * 4 ));
140-
141- var mapping = parseJson (builder.build ('foo.dart.js.map' ));
142- var mappedTrace = _mapTrace (mapping, trace,
143- packageResolver: SyncPackageResolver .root ('packages/' ));
144- var frame = mappedTrace.frames.first;
145- expect (frame.uri, equals (Uri .parse ('package:foo/foo.dart' )));
146- expect (frame.line, equals (2 ));
147- expect (frame.column, equals (4 ));
148- });
149-
150132 test ('uses package: URIs for frames within a packageResolver.packageMap URL' ,
151133 () {
152134 var trace = Trace .parse ('foo.dart.js 10 foo' );
@@ -160,9 +142,7 @@ bar.dart.js 10:11 foo
160142 SourceLocation (12 , line: 9 , column: 1 ), '\n ' * 4 ));
161143
162144 var mapping = parseJson (builder.build ('foo.dart.js.map' ));
163- var mappedTrace = _mapTrace (mapping, trace,
164- packageResolver:
165- SyncPackageResolver .config ({'foo' : Uri .parse ('packages/foo' )}));
145+ var mappedTrace = _mapTrace (mapping, trace, packageMap: _packageMap);
166146 var frame = mappedTrace.frames.first;
167147 expect (frame.uri, equals (Uri .parse ('package:foo/foo.dart' )));
168148 expect (frame.line, equals (2 ));
@@ -264,17 +244,17 @@ bar.dart.js 10:11 foo
264244/// Like [mapStackTrace] , but is guaranteed to return a [Trace] so it can be
265245/// inspected.
266246Trace _mapTrace (Mapping sourceMap, StackTrace stackTrace,
267- {bool minified = false , SyncPackageResolver packageResolver , Uri sdkRoot}) {
247+ {bool minified = false , Map < String , Uri > packageMap , Uri sdkRoot}) {
268248 return Trace .from (mapStackTrace (sourceMap, stackTrace,
269- minified: minified, packageResolver : packageResolver , sdkRoot: sdkRoot));
249+ minified: minified, packageMap : packageMap , sdkRoot: sdkRoot));
270250}
271251
272252/// Like [mapStackTrace] , but is guaranteed to return a [Chain] so it can be
273253/// inspected.
274254Chain _mapChain (Mapping sourceMap, StackTrace stackTrace,
275- {bool minified = false , SyncPackageResolver packageResolver , Uri sdkRoot}) {
255+ {bool minified = false , Map < String , Uri > packageMap , Uri sdkRoot}) {
276256 return Chain .forTrace (mapStackTrace (sourceMap, stackTrace,
277- minified: minified, packageResolver : packageResolver , sdkRoot: sdkRoot));
257+ minified: minified, packageMap : packageMap , sdkRoot: sdkRoot));
278258}
279259
280260/// Runs the mapper's prettification logic on [member] and returns the result.
0 commit comments