Migrate test/general.shard/web to explicit-package-dependencies. (#160273)

Work towards https://github.com/flutter/flutter/issues/160257.
This commit is contained in:
Matan Lurey 2024-12-13 14:22:21 -08:00 committed by GitHub
parent 5332e696a4
commit 61025ca2dd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 40 additions and 0 deletions

View File

@ -7,6 +7,8 @@ import 'package:flutter_tools/src/base/logger.dart';
import 'package:flutter_tools/src/build_info.dart';
import 'package:flutter_tools/src/build_system/build_system.dart';
import 'package:flutter_tools/src/build_system/targets/web.dart';
import 'package:flutter_tools/src/dart/pub.dart';
import 'package:flutter_tools/src/features.dart';
import 'package:flutter_tools/src/project.dart';
import 'package:flutter_tools/src/reporting/reporting.dart';
import 'package:flutter_tools/src/web/compile.dart';
@ -15,6 +17,7 @@ import 'package:unified_analytics/unified_analytics.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';
@ -26,6 +29,16 @@ void main() {
late FakeFlutterVersion flutterVersion;
late FlutterProject flutterProject;
// 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,
// Assumed to be true below.
isWebEnabled: true,
);
}
setUp(() {
fileSystem = MemoryFileSystem.test();
testUsage = TestUsage();
@ -140,6 +153,8 @@ void main() {
);
}, overrides: <Type, Generator>{
ProcessManager: () => FakeProcessManager.any(),
FeatureFlags: enableExplicitPackageDependencies,
Pub: FakePubWithPrimedDeps.new,
});
testUsingContext('WebBuilder throws tool exit on failure', () async {
@ -180,6 +195,8 @@ void main() {
expect(fakeAnalytics.sentEvents, isEmpty);
}, overrides: <Type, Generator>{
ProcessManager: () => FakeProcessManager.any(),
FeatureFlags: enableExplicitPackageDependencies,
Pub: FakePubWithPrimedDeps.new,
});
Future<void> testRendererModeFromDartDefines(WebRendererMode webRenderer) async {

View File

@ -10,13 +10,26 @@ import 'package:flutter_tools/src/base/process.dart';
import 'package:flutter_tools/src/build_system/build_system.dart';
import 'package:flutter_tools/src/cache.dart';
import 'package:flutter_tools/src/commands/build.dart';
import 'package:flutter_tools/src/dart/pub.dart';
import 'package:flutter_tools/src/features.dart';
import '../../../src/context.dart'; // legacy
import '../../../src/fake_pub_deps.dart';
import '../../../src/fakes.dart';
import '../../../src/test_build_system.dart';
import '../../../src/test_flutter_command_runner.dart'; // legacy
void main() {
// 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,
// Assumed to be true below.
isWebEnabled: true,
);
}
setUpAll(() {
Cache.flutterRoot = '';
Cache.disableLocking();
@ -75,6 +88,8 @@ void main() {
FileSystem: () => fileSystem,
ProcessManager: () => processManager,
BuildSystem: () => buildSystem,
FeatureFlags: enableExplicitPackageDependencies,
Pub: FakePubWithPrimedDeps.new,
});
testUsingContext('noop - .gitignore does not reference generated_plugin_registrant.dart - untouched', () async {
@ -99,6 +114,8 @@ void main() {
FileSystem: () => fileSystem,
ProcessManager: () => processManager,
BuildSystem: () => buildSystem,
FeatureFlags: enableExplicitPackageDependencies,
Pub: FakePubWithPrimedDeps.new,
});
testUsingContext('.gitignore references generated_plugin_registrant - cleans it up', () async {
@ -123,6 +140,8 @@ void main() {
FileSystem: () => fileSystem,
ProcessManager: () => processManager,
BuildSystem: () => buildSystem,
FeatureFlags: enableExplicitPackageDependencies,
Pub: FakePubWithPrimedDeps.new,
});
testUsingContext('generated_plugin_registrant.dart exists - gets deleted', () async {
@ -146,6 +165,8 @@ void main() {
FileSystem: () => fileSystem,
ProcessManager: () => processManager,
BuildSystem: () => buildSystem,
FeatureFlags: enableExplicitPackageDependencies,
Pub: FakePubWithPrimedDeps.new,
});
testUsingContext('scrubs generated_plugin_registrant file and cleans .gitignore', () async {
@ -172,6 +193,8 @@ void main() {
FileSystem: () => fileSystem,
ProcessManager: () => processManager,
BuildSystem: () => buildSystem,
FeatureFlags: enableExplicitPackageDependencies,
Pub: FakePubWithPrimedDeps.new,
});
});
}