Enable explicit-package-dependencies (resident_web_runner_cold_test.dart) (#160258)

Example of option (2) for
https://github.com/flutter/flutter/issues/160257.
This commit is contained in:
Matan Lurey 2024-12-13 13:14:20 -08:00 committed by GitHub
parent 2948917a47
commit 1e2322c080
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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,
});
}