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'''