Fix resynthesizer tests on Windows.
Change-Id: I09e1642ae4344115141b2bf7eb7cca3d8a69ccc0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220440
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/test/src/summary/resynthesize_ast2_test.dart b/pkg/analyzer/test/src/summary/resynthesize_ast2_test.dart
index 5a09829..e045770 100644
--- a/pkg/analyzer/test/src/summary/resynthesize_ast2_test.dart
+++ b/pkg/analyzer/test/src/summary/resynthesize_ast2_test.dart
@@ -13,11 +13,13 @@
import 'package:analyzer/src/dart/element/inheritance_manager3.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/source.dart';
+import 'package:analyzer/src/generated/utilities_dart.dart';
import 'package:analyzer/src/summary2/bundle_reader.dart';
import 'package:analyzer/src/summary2/informative_data.dart';
import 'package:analyzer/src/summary2/link.dart';
import 'package:analyzer/src/summary2/linked_element_factory.dart';
import 'package:analyzer/src/summary2/reference.dart';
+import 'package:analyzer/src/util/uri.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
import 'element_text.dart';
@@ -196,11 +198,9 @@
void _addNonDartLibraries(
Set<Source> addedLibraries,
List<LinkInputLibrary> libraries,
- Source? source,
+ Source source,
) {
- if (source == null ||
- source.uri.isScheme('dart') ||
- !addedLibraries.add(source)) {
+ if (source.uri.isScheme('dart') || !addedLibraries.add(source)) {
return;
}
@@ -217,8 +217,29 @@
);
void addRelativeUriStr(StringLiteral uriNode) {
- var uriStr = uriNode.stringValue;
- var uriSource = sourceFactory.resolveUri(source, uriStr);
+ var relativeUriStr = uriNode.stringValue;
+ if (relativeUriStr == null) {
+ return;
+ }
+
+ Uri relativeUri;
+ try {
+ relativeUri = Uri.parse(relativeUriStr);
+ } on FormatException {
+ return;
+ }
+
+ var absoluteUri = resolveRelativeUri(source.uri, relativeUri);
+ var rewrittenUri = rewriteFileToPackageUri(sourceFactory, absoluteUri);
+ if (rewrittenUri == null) {
+ return;
+ }
+
+ var uriSource = sourceFactory.forUri2(rewrittenUri);
+ if (uriSource == null) {
+ return;
+ }
+
_addNonDartLibraries(addedLibraries, libraries, uriSource);
}
diff --git a/pkg/analyzer/test/src/summary/resynthesize_common.dart b/pkg/analyzer/test/src/summary/resynthesize_common.dart
index bb3c056..450bc47 100644
--- a/pkg/analyzer/test/src/summary/resynthesize_common.dart
+++ b/pkg/analyzer/test/src/summary/resynthesize_common.dart
@@ -18936,8 +18936,7 @@
test_import_short_absolute() async {
testFile = '/my/project/bin/test.dart';
// Note: "/a.dart" resolves differently on Windows vs. Posix.
- var destinationPath =
- resourceProvider.pathContext.fromUri(Uri.parse('/a.dart'));
+ var destinationPath = convertPath('/a.dart');
addLibrarySource(destinationPath, 'class C {}');
var library = await checkLibrary('import "/a.dart"; C c;');
checkElementText(library, r'''