wire in fuchsiaApp (#33781)
diff --git a/packages/flutter_tools/test/application_package_test.dart b/packages/flutter_tools/test/application_package_test.dart
index df63fd4..4cefdea 100644
--- a/packages/flutter_tools/test/application_package_test.dart
+++ b/packages/flutter_tools/test/application_package_test.dart
@@ -10,6 +10,7 @@
import 'package:flutter_tools/src/base/platform.dart';
import 'package:flutter_tools/src/build_info.dart';
import 'package:flutter_tools/src/cache.dart';
+import 'package:flutter_tools/src/fuchsia/application_package.dart';
import 'package:flutter_tools/src/project.dart';
import 'package:mockito/mockito.dart';
@@ -305,6 +306,52 @@
expect(iosApp, null);
}, overrides: overrides);
});
+
+ group('FuchsiaApp', () {
+ final Map<Type, Generator> overrides = <Type, Generator>{
+ FileSystem: () => MemoryFileSystem(),
+ Platform: _kNoColorTerminalPlatform,
+ OperatingSystemUtils: () => MockOperatingSystemUtils(),
+ };
+ testUsingContext('Error on non-existing file', () {
+ final PrebuiltFuchsiaApp fuchsiaApp =
+ FuchsiaApp.fromPrebuiltApp(fs.file('not_existing.far'));
+ expect(fuchsiaApp, isNull);
+ final BufferLogger logger = context.get<Logger>();
+ expect(
+ logger.errorText,
+ 'File "not_existing.far" does not exist or is not a .far file. Use far archive.\n',
+ );
+ }, overrides: overrides);
+
+ testUsingContext('Error on non-far file', () {
+ fs.directory('regular_folder').createSync();
+ final PrebuiltFuchsiaApp fuchsiaApp =
+ FuchsiaApp.fromPrebuiltApp(fs.file('regular_folder'));
+ expect(fuchsiaApp, isNull);
+ final BufferLogger logger = context.get<Logger>();
+ expect(
+ logger.errorText,
+ 'File "regular_folder" does not exist or is not a .far file. Use far archive.\n',
+ );
+ }, overrides: overrides);
+
+ testUsingContext('Success with far file', () {
+ fs.file('bundle.far').createSync();
+ final PrebuiltFuchsiaApp fuchsiaApp = FuchsiaApp.fromPrebuiltApp(fs.file('bundle.far'));
+ final BufferLogger logger = context.get<Logger>();
+ expect(logger.errorText, isEmpty);
+ expect(fuchsiaApp.id, 'bundle.far');
+ }, overrides: overrides);
+
+ testUsingContext('returns null when there is no fuchsia', () async {
+ fs.file('pubspec.yaml').createSync();
+ fs.file('.packages').createSync();
+ final BuildableFuchsiaApp fuchsiaApp = FuchsiaApp.fromFuchsiaProject(FlutterProject.fromDirectory(fs.currentDirectory).fuchsia);
+
+ expect(fuchsiaApp, null);
+ }, overrides: overrides);
+ });
}
const String _aaptDataWithExplicitEnabledAndMainLauncherActivity =