From 1e2322c080494151b532ec9b71aaf20055e39cc7 Mon Sep 17 00:00:00 2001 From: Matan Lurey Date: Fri, 13 Dec 2024 13:14:20 -0800 Subject: [PATCH] Enable `explicit-package-dependencies` (`resident_web_runner_cold_test.dart`) (#160258) Example of option (2) for https://github.com/flutter/flutter/issues/160257. --- .../resident_web_runner_cold_test.dart | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/packages/flutter_tools/test/general.shard/resident_web_runner_cold_test.dart b/packages/flutter_tools/test/general.shard/resident_web_runner_cold_test.dart index ceb06a96a1e..be66a15a979 100644 --- a/packages/flutter_tools/test/general.shard/resident_web_runner_cold_test.dart +++ b/packages/flutter_tools/test/general.shard/resident_web_runner_cold_test.dart @@ -11,8 +11,10 @@ import 'package:flutter_tools/src/base/logger.dart'; import 'package:flutter_tools/src/base/time.dart'; import 'package:flutter_tools/src/build_info.dart'; import 'package:flutter_tools/src/build_system/build_system.dart'; +import 'package:flutter_tools/src/dart/pub.dart'; import 'package:flutter_tools/src/devfs.dart'; import 'package:flutter_tools/src/device.dart'; +import 'package:flutter_tools/src/features.dart'; import 'package:flutter_tools/src/isolated/devfs_web.dart'; import 'package:flutter_tools/src/isolated/resident_web_runner.dart'; import 'package:flutter_tools/src/project.dart'; @@ -23,6 +25,7 @@ import 'package:test/fake.dart'; import '../src/common.dart'; import '../src/context.dart'; +import '../src/fake_pub_deps.dart'; import '../src/fakes.dart'; import '../src/test_build_system.dart'; @@ -31,6 +34,12 @@ void main() { late FakeWebDevFS mockWebDevFS; late MemoryFileSystem fileSystem; + // TODO(matanlurey): Remove after `explicit-package-dependencies` is enabled by default. + // See https://github.com/flutter/flutter/issues/160257 for details. + FeatureFlags enableExplicitPackageDependencies() { + return TestFeatureFlags(isExplicitPackageDependenciesEnabled: true); + } + setUp(() { fileSystem = MemoryFileSystem.test(); mockWebDevFS = FakeWebDevFS(); @@ -74,6 +83,8 @@ void main() { BuildSystem: () => TestBuildSystem.all(BuildResult(success: true)), FileSystem: () => fileSystem, ProcessManager: () => FakeProcessManager.any(), + FeatureFlags: enableExplicitPackageDependencies, + Pub: FakePubWithPrimedDeps.new, }); // Regression test for https://github.com/flutter/flutter/issues/60613 @@ -99,6 +110,8 @@ void main() { BuildSystem: () => TestBuildSystem.all(BuildResult(success: false)), FileSystem: () => fileSystem, ProcessManager: () => FakeProcessManager.any(), + FeatureFlags: enableExplicitPackageDependencies, + Pub: FakePubWithPrimedDeps.new, }); // Regression test for https://github.com/flutter/flutter/issues/60613 @@ -124,6 +137,8 @@ void main() { BuildSystem: () => TestBuildSystem.error(Exception('foo')), FileSystem: () => fileSystem, ProcessManager: () => FakeProcessManager.any(), + FeatureFlags: enableExplicitPackageDependencies, + Pub: FakePubWithPrimedDeps.new, }); testUsingContext('Can full restart after attaching', () async { @@ -153,6 +168,8 @@ void main() { BuildSystem: () => TestBuildSystem.all(BuildResult(success: true)), FileSystem: () => fileSystem, ProcessManager: () => FakeProcessManager.any(), + FeatureFlags: enableExplicitPackageDependencies, + Pub: FakePubWithPrimedDeps.new, }); testUsingContext('Fails on compilation errors in hot restart', () async { @@ -186,6 +203,8 @@ void main() { ]), FileSystem: () => fileSystem, ProcessManager: () => FakeProcessManager.any(), + FeatureFlags: enableExplicitPackageDependencies, + Pub: FakePubWithPrimedDeps.new, }); }