[tool] Handle Flutter dev dependencies (#5775)

A non-Flutter package can have Flutter-based tests (e.g., cupertino_icons), in which case we need to use `flutter test` rather than `dart test` just like we would for a package with a non-dev Flutter dependency. This updates the `requiresFlutter` check to include dev dependencies as well as normal dependencies.
This commit is contained in:
stuartmorgan
2024-01-04 11:55:17 -08:00
committed by GitHub
parent 7beab0d305
commit e57318508e
2 changed files with 18 additions and 2 deletions

View File

@ -4,6 +4,7 @@
import 'package:file/file.dart';
import 'package:file/memory.dart';
import 'package:pubspec_parse/pubspec_parse.dart';
import 'package:test/test.dart';
import '../util.dart';
@ -221,6 +222,17 @@ void main() {
expect(package.requiresFlutter(), true);
});
test('returns true for a dev dependency on Flutter', () async {
final RepositoryPackage package =
createFakePackage('a_package', packagesDir);
final File pubspecFile = package.pubspecFile;
final Pubspec pubspec = package.parsePubspec();
pubspec.devDependencies['flutter'] = SdkDependency('flutter');
pubspecFile.writeAsStringSync(pubspec.toString());
expect(package.requiresFlutter(), true);
});
test('returns false for non-Flutter package', () async {
final RepositoryPackage package =
createFakePackage('a_package', packagesDir);