Fix some extensions + file util tests on Windows (#8846)
* Fix some extensions + file util tests
* Rename projectRoot -> projectRootUriString
* Rename directoryPath -> projectRootDirectoryUriString
diff --git a/packages/devtools_shared/test/helpers/extension_test_manager.dart b/packages/devtools_shared/test/helpers/extension_test_manager.dart
index 0e74817..0355e72 100644
--- a/packages/devtools_shared/test/helpers/extension_test_manager.dart
+++ b/packages/devtools_shared/test/helpers/extension_test_manager.dart
@@ -394,6 +394,10 @@
final bool requiresConnection;
final bool isPubliclyHosted;
final String? packageVersion;
+
+ /// The relative path from the extensions.
+ ///
+ /// Uses the paths separator for the current platform.
final String relativePathFromExtensions;
String get configYamlContent => '''
@@ -439,8 +443,9 @@
} else {
sb
..writeln() // Add a new line for the path dependency.
+ // Always write paths in pubspec.yaml with forward slashes.
..writeln(
- ' path: $pathToExtensions/${dep.relativePathFromExtensions}',
+ ' path: $pathToExtensions/${dep.relativePathFromExtensions.replaceAll(r'\', '/')}',
);
}
}
diff --git a/packages/devtools_shared/test/helpers/extension_test_manager_test.dart b/packages/devtools_shared/test/helpers/extension_test_manager_test.dart
index 1ae4ebf..9bf976d 100644
--- a/packages/devtools_shared/test/helpers/extension_test_manager_test.dart
+++ b/packages/devtools_shared/test/helpers/extension_test_manager_test.dart
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd.
+import 'package:path/path.dart' as p;
import 'package:test/test.dart';
import 'extension_test_manager.dart';
@@ -115,7 +116,7 @@
expect(newerStaticExtension1Package.packageVersion, null);
expect(
newerStaticExtension1Package.relativePathFromExtensions,
- 'newer/static_extension_1',
+ p.join('newer', 'static_extension_1'),
);
expect(
newerStaticExtension1Package.pubspecContent,
diff --git a/packages/devtools_shared/test/server/devtools_extensions_api_test.dart b/packages/devtools_shared/test/server/devtools_extensions_api_test.dart
index 140a834..f075b47 100644
--- a/packages/devtools_shared/test/server/devtools_extensions_api_test.dart
+++ b/packages/devtools_shared/test/server/devtools_extensions_api_test.dart
@@ -146,14 +146,14 @@
group(ExtensionsApi.apiExtensionEnabledState, () {
late File optionsFile;
- late final optionsFileUriString = p.join(
+ late final optionsFileUriString = p.posix.join(
extensionTestManager.runtimeAppRoot,
devtoolsOptionsFileName,
);
setUp(() async {
await initializeTestDirectory();
- optionsFile = File.fromUri(Uri.file(optionsFileUriString));
+ optionsFile = File.fromUri(Uri.parse(optionsFileUriString));
});
Future<Response> sendEnabledStateRequest({
@@ -374,7 +374,7 @@
ext.extensionAssetsPath,
endsWith(
p.join(
- '.pub-cache',
+ Platform.isWindows ? r'Pub\Cache' : '.pub-cache',
'hosted',
'pub.dev',
'${extensionPackage.name}-${extensionPackage.packageVersion}',
@@ -401,7 +401,7 @@
expect(
ext.devtoolsOptionsUri,
endsWith(
- p.join('packages', detectedFromPath, devtoolsOptionsFileName),
+ p.posix.join('packages', detectedFromPath, devtoolsOptionsFileName),
),
);
expect(ext.detectedFromStaticContext, fromStaticContext);
diff --git a/packages/devtools_shared/test/utils/file_utils_test.dart b/packages/devtools_shared/test/utils/file_utils_test.dart
index fa90518..fd75504 100644
--- a/packages/devtools_shared/test/utils/file_utils_test.dart
+++ b/packages/devtools_shared/test/utils/file_utils_test.dart
@@ -12,7 +12,9 @@
import '../helpers/helpers.dart';
const projectRootParts = ['absolute_path_to', 'my_app_root'];
-late String projectRoot;
+
+/// The project root as a URI string.
+late String projectRootUriString;
late Directory testDirectory;
late File libFile;
@@ -46,7 +48,7 @@
await testDtdConnection!.setIDEWorkspaceRoots(
dtd!.info!.secret!,
- [Uri.parse(projectRoot)],
+ [Uri.parse(projectRootUriString)],
);
});
@@ -72,7 +74,7 @@
dtd: useDtd ? testDtdConnection! : null,
throwOnDtdSearchFailed: useDtd,
);
- expect(result, equals(expected ?? projectRoot));
+ expect(result, equals(expected ?? projectRootUriString));
}
test('packageRootFromFileUriString throw exception for invalid input', () {
@@ -130,24 +132,26 @@
// Dart file in a nested project.
await verifyPackageRoot(
nestedProjectLibFile.uri.toString(),
- expected: p.join(projectRoot, 'example', 'nested_project'),
+ expected:
+ p.posix.join(projectRootUriString, 'example', 'nested_project'),
useDtd: useDtd,
);
await verifyPackageRoot(
nestedProjectTestFile.uri.toString(),
- expected: p.join(projectRoot, 'example', 'nested_project'),
+ expected:
+ p.posix.join(projectRootUriString, 'example', 'nested_project'),
useDtd: useDtd,
);
// Dart file under an unknown directory.
await verifyPackageRoot(
anyFile.uri.toString(),
- expected: useDtd ? projectRoot : anyFile.uri.toString(),
+ expected: useDtd ? projectRootUriString : anyFile.uri.toString(),
useDtd: useDtd,
);
await verifyPackageRoot(
anySubFile.uri.toString(),
- expected: useDtd ? projectRoot : anySubFile.uri.toString(),
+ expected: useDtd ? projectRootUriString : anySubFile.uri.toString(),
useDtd: useDtd,
);
},
@@ -200,11 +204,12 @@
final projectRootDirectory =
Directory(p.joinAll([testDirectory.path, ...projectRootParts]))
..createSync(recursive: true);
- final directoryPath =
+ final projectRootDirectoryUriString =
Uri.file(projectRootDirectory.uri.toFilePath()).toString();
// Remove the trailing slash and set the value of [projectRoot].
- projectRoot = directoryPath.substring(0, directoryPath.length - 1);
+ projectRootUriString = projectRootDirectoryUriString.substring(
+ 0, projectRootDirectoryUriString.length - 1);
// Set up the project root contents.
Directory(p.join(projectRootDirectory.path, '.dart_tool'))