mirror of
https://github.com/flutter/packages.git
synced 2025-06-19 05:30:13 +08:00
[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:
@ -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);
|
||||
|
Reference in New Issue
Block a user