Unverified Commit a56c5e51 authored by Jenn Magder's avatar Jenn Magder Committed by GitHub

Migrate some test files to null safety (#104469)

parent b3e98a92
......@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.8
import 'package:file/memory.dart';
import 'package:flutter_tools/src/android/android_device_discovery.dart';
import 'package:flutter_tools/src/android/android_sdk.dart';
......@@ -15,11 +13,11 @@ import 'package:flutter_tools/src/device.dart';
import 'package:test/fake.dart';
import '../../src/common.dart';
import '../../src/context.dart';
import '../../src/fake_process_manager.dart';
import '../../src/fakes.dart';
void main() {
AndroidWorkflow androidWorkflow;
late AndroidWorkflow androidWorkflow;
setUp(() {
androidWorkflow = AndroidWorkflow(
......@@ -243,5 +241,5 @@ class FakeAndroidSdk extends Fake implements AndroidSdk {
FakeAndroidSdk([this.adbPath = 'adb']);
@override
final String adbPath;
final String? adbPath;
}
......@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.8
import 'package:file/memory.dart';
import 'package:flutter_tools/src/android/android_sdk.dart';
import 'package:flutter_tools/src/android/android_studio.dart';
......@@ -18,15 +16,15 @@ import 'package:flutter_tools/src/doctor_validator.dart';
import 'package:test/fake.dart';
import '../../src/common.dart';
import '../../src/context.dart';
import '../../src/fake_process_manager.dart';
import '../../src/fakes.dart';
void main() {
FakeAndroidSdk sdk;
Logger logger;
MemoryFileSystem fileSystem;
FakeProcessManager processManager;
FakeStdio stdio;
late FakeAndroidSdk sdk;
late Logger logger;
late MemoryFileSystem fileSystem;
late FakeProcessManager processManager;
late FakeStdio stdio;
setUp(() {
sdk = FakeAndroidSdk();
......@@ -532,31 +530,31 @@ Review licenses that have not been accepted (y/N)?
class FakeAndroidSdk extends Fake implements AndroidSdk {
@override
String sdkManagerPath;
String? sdkManagerPath;
@override
String sdkManagerVersion;
String? sdkManagerVersion;
@override
String adbPath;
String? adbPath;
@override
bool licensesAvailable;
bool licensesAvailable = false;
@override
bool platformToolsAvailable;
bool platformToolsAvailable = false;
@override
bool cmdlineToolsAvailable;
bool cmdlineToolsAvailable = false;
@override
Directory directory;
Directory directory = MemoryFileSystem.test().directory('/foo/bar');
@override
AndroidSdkVersion latestVersion;
AndroidSdkVersion? latestVersion;
@override
String emulatorPath;
String? emulatorPath;
@override
List<String> validateSdkWellFormed() => <String>[];
......@@ -567,10 +565,10 @@ class FakeAndroidSdk extends Fake implements AndroidSdk {
class FakeAndroidSdkVersion extends Fake implements AndroidSdkVersion {
@override
int sdkLevel;
int sdkLevel = 0;
@override
Version buildToolsVersion;
Version buildToolsVersion = Version(0, 0, 0);
@override
String get buildToolsVersionName => '';
......
......@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.8
import 'package:file/memory.dart';
import 'package:file_testing/file_testing.dart';
import 'package:flutter_tools/src/base/file_system.dart';
......
......@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.8
import 'package:file/memory.dart';
import 'package:flutter_tools/src/artifacts.dart';
import 'package:flutter_tools/src/base/os.dart';
......@@ -20,9 +18,9 @@ import '../src/fakes.dart';
/// Matches a doctor validation result.
Matcher _matchDoctorValidation({
ValidationType validationType,
String statusInfo,
dynamic messages
required ValidationType validationType,
required String statusInfo,
required Object messages
}) {
return const TypeMatcher<ValidationResult>()
.having((ValidationResult result) => result.type, 'type', validationType)
......@@ -235,7 +233,7 @@ void main() {
}
class FakeOperatingSystemUtils extends Fake implements OperatingSystemUtils {
FakeOperatingSystemUtils({this.name});
FakeOperatingSystemUtils({required this.name});
@override
final String name;
......
......@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.8
import 'package:file/memory.dart';
import 'package:flutter_tools/src/artifacts.dart';
import 'package:flutter_tools/src/base/file_system.dart';
......@@ -17,7 +15,6 @@ import 'package:flutter_tools/src/ios/devices.dart';
import 'package:flutter_tools/src/ios/ios_deploy.dart';
import 'package:flutter_tools/src/ios/iproxy.dart';
import 'package:flutter_tools/src/ios/mac.dart';
import 'package:meta/meta.dart';
import '../../src/common.dart';
import '../../src/fake_process_manager.dart';
......@@ -28,10 +25,10 @@ const Map<String, String> kDyLdLibEntry = <String, String>{
};
void main() {
Artifacts artifacts;
String iosDeployPath;
FileSystem fileSystem;
Directory bundleDirectory;
late Artifacts artifacts;
late String iosDeployPath;
late FileSystem fileSystem;
late Directory bundleDirectory;
setUp(() {
artifacts = Artifacts.test();
......@@ -319,11 +316,11 @@ void main() {
}
IOSDevice setUpIOSDevice({
@required ProcessManager processManager,
FileSystem fileSystem,
Logger logger,
IOSDeviceConnectionInterface interfaceType,
Artifacts artifacts,
required ProcessManager processManager,
FileSystem? fileSystem,
Logger? logger,
IOSDeviceConnectionInterface? interfaceType,
Artifacts? artifacts,
}) {
logger ??= BufferLogger.test();
final FakePlatform platform = FakePlatform(
......@@ -360,6 +357,6 @@ IOSDevice setUpIOSDevice({
cache: cache,
),
iProxy: IProxy.test(logger: logger, processManager: processManager),
interfaceType: interfaceType,
interfaceType: interfaceType ?? IOSDeviceConnectionInterface.usb,
);
}
......@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.8
import 'dart:async';
import 'package:flutter_tools/src/artifacts.dart';
......@@ -24,11 +22,11 @@ import '../../src/fake_process_manager.dart';
import '../../src/fake_vm_services.dart';
void main() {
FakeProcessManager processManager;
Artifacts artifacts;
Cache fakeCache;
BufferLogger logger;
String ideviceSyslogPath;
late FakeProcessManager processManager;
late Artifacts artifacts;
late Cache fakeCache;
late BufferLogger logger;
late String ideviceSyslogPath;
setUp(() {
processManager = FakeProcessManager.empty();
......@@ -328,8 +326,8 @@ Runner(libsystem_asl.dylib)[297] <Notice>: libMobileGestalt
),
useSyslog: false,
);
Object exception;
StackTrace trace;
Object? exception;
StackTrace? trace;
await asyncGuard(
() async {
await logReader.linesController.close();
......
......@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.8
import 'dart:async';
import 'dart:convert';
......@@ -66,8 +64,8 @@ const FakeCommand kLaunchDebugCommand = FakeCommand(command: <String>[
// The command used to actually launch the app and attach the debugger with args in debug.
FakeCommand attachDebuggerCommand({
IOSink stdin,
Completer<void>/*?*/ completer,
IOSink? stdin,
Completer<void>? completer,
}) {
return FakeCommand(
command: const <String>[
......@@ -359,10 +357,10 @@ void main() {
IOSDevice setUpIOSDevice({
String sdkVersion = '13.0.1',
FileSystem fileSystem,
Logger logger,
ProcessManager processManager,
IOSDeploy iosDeploy,
FileSystem? fileSystem,
Logger? logger,
ProcessManager? processManager,
IOSDeploy? iosDeploy,
}) {
final Artifacts artifacts = Artifacts.test();
final FakePlatform macPlatform = FakePlatform(
......@@ -377,24 +375,24 @@ IOSDevice setUpIOSDevice({
],
processManager: FakeProcessManager.any(),
);
logger ??= BufferLogger.test();
return IOSDevice('123',
name: 'iPhone 1',
sdkVersion: sdkVersion,
fileSystem: fileSystem ?? MemoryFileSystem.test(),
platform: macPlatform,
iProxy: IProxy.test(logger: logger, processManager: processManager ?? FakeProcessManager.any()),
logger: logger ?? BufferLogger.test(),
logger: logger,
iosDeploy: iosDeploy ??
IOSDeploy(
logger: logger ?? BufferLogger.test(),
logger: logger,
platform: macPlatform,
processManager: processManager ?? FakeProcessManager.any(),
artifacts: artifacts,
cache: cache,
),
iMobileDevice: IMobileDevice(
logger: logger ?? BufferLogger.test(),
logger: logger,
processManager: processManager ?? FakeProcessManager.any(),
artifacts: artifacts,
cache: cache,
......
......@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.8
import 'package:file/memory.dart';
import 'package:flutter_tools/src/base/file_system.dart';
import 'package:flutter_tools/src/base/logger.dart';
......
......@@ -2,22 +2,21 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.8
import 'package:file/memory.dart';
import 'package:flutter_tools/src/application_package.dart';
import 'package:flutter_tools/src/base/logger.dart';
import 'package:flutter_tools/src/base/os.dart';
import 'package:flutter_tools/src/base/platform.dart';
import 'package:flutter_tools/src/build_info.dart';
import 'package:flutter_tools/src/desktop_device.dart';
import 'package:flutter_tools/src/device.dart';
import 'package:flutter_tools/src/ios/application_package.dart';
import 'package:flutter_tools/src/ios/ios_workflow.dart';
import 'package:flutter_tools/src/macos/macos_ipad_device.dart';
import 'package:meta/meta.dart';
import 'package:test/fake.dart';
import '../../src/common.dart';
import '../../src/context.dart';
import '../../src/fake_process_manager.dart';
import '../../src/fakes.dart';
void main() {
......@@ -125,25 +124,34 @@ void main() {
expect(device.portForwarder, isNot(isNull));
expect(await device.targetPlatform, TargetPlatform.darwin);
expect(await device.installApp(null), isTrue);
expect(await device.isAppInstalled(null), isTrue);
expect(await device.isLatestBuildInstalled(null), isTrue);
expect(await device.uninstallApp(null), isTrue);
expect(await device.installApp(FakeApplicationPackage()), isTrue);
expect(await device.isAppInstalled(FakeApplicationPackage()), isTrue);
expect(await device.isLatestBuildInstalled(FakeApplicationPackage()), isTrue);
expect(await device.uninstallApp(FakeApplicationPackage()), isTrue);
expect(device.isSupported(), isTrue);
expect(device.getLogReader(), isA<DesktopLogReader>());
expect(await device.stopApp(null), isFalse);
expect(await device.stopApp(FakeIOSApp()), isFalse);
await expectLater(() => device.startApp(null, debuggingOptions: null), throwsA(isA<UnimplementedError>()));
await expectLater(() => device.buildForDevice(null, buildInfo: BuildInfo.debug), throwsA(isA<UnimplementedError>()));
expect(device.executablePathForDevice(null, null), null);
await expectLater(
() => device.startApp(
FakeIOSApp(),
debuggingOptions: DebuggingOptions.disabled(BuildInfo.debug),
),
throwsA(isA<UnimplementedError>()),
);
await expectLater(() => device.buildForDevice(FakeIOSApp(), buildInfo: BuildInfo.debug), throwsA(isA<UnimplementedError>()));
expect(device.executablePathForDevice(FakeIOSApp(), BuildMode.debug), null);
});
}
class FakeIOSWorkflow extends Fake implements IOSWorkflow {
FakeIOSWorkflow({@required this.canListDevices});
FakeIOSWorkflow({required this.canListDevices});
@override
final bool canListDevices;
}
class FakeApplicationPackage extends Fake implements ApplicationPackage {}
class FakeIOSApp extends Fake implements IOSApp {}
......@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.8
import 'package:flutter_tools/src/runner/flutter_command.dart';
typedef CommandFunction = Future<FlutterCommandResult> Function();
......@@ -17,11 +15,11 @@ class DummyFlutterCommand extends FlutterCommand {
this.commandFunction,
this.packagesPath,
this.fileSystemScheme,
this.fileSystemRoots,
this.fileSystemRoots = const <String>[],
});
final bool noUsagePath;
final CommandFunction commandFunction;
final CommandFunction? commandFunction;
@override
final bool shouldUpdateCache;
......@@ -30,21 +28,21 @@ class DummyFlutterCommand extends FlutterCommand {
String get description => 'does nothing';
@override
Future<String> get usagePath => noUsagePath ? null : super.usagePath;
Future<String?> get usagePath async => noUsagePath ? null : super.usagePath;
@override
final String name;
@override
Future<FlutterCommandResult> runCommand() async {
return commandFunction == null ? FlutterCommandResult.fail() : await commandFunction();
return commandFunction == null ? FlutterCommandResult.fail() : await commandFunction!();
}
@override
final String packagesPath;
final String? packagesPath;
@override
final String fileSystemScheme;
final String? fileSystemScheme;
@override
final List<String> fileSystemRoots;
......
......@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.8
import 'package:file/memory.dart';
import 'package:file_testing/file_testing.dart';
import 'package:flutter_tools/src/base/file_system.dart';
......@@ -79,9 +77,9 @@ dependencies:
''';
void main() {
FileSystem fileSystem;
Directory flutterSdk;
Directory flutter;
late FileSystem fileSystem;
late Directory flutterSdk;
late Directory flutter;
setUp(() {
fileSystem = MemoryFileSystem.test();
......
......@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.8
import 'package:file/memory.dart';
import 'package:flutter_tools/src/base/file_system.dart';
import 'package:flutter_tools/src/base/logger.dart';
......@@ -17,7 +15,7 @@ import 'package:flutter_tools/src/windows/windows_workflow.dart';
import 'package:test/fake.dart';
import '../../src/common.dart';
import '../../src/context.dart';
import '../../src/fake_process_manager.dart';
import '../../src/fakes.dart';
void main() {
......@@ -118,9 +116,9 @@ FlutterProject setUpFlutterProject(Directory directory) {
}
WindowsDevice setUpWindowsDevice({
FileSystem fileSystem,
Logger logger,
ProcessManager processManager,
FileSystem? fileSystem,
Logger? logger,
ProcessManager? processManager,
}) {
return WindowsDevice(
fileSystem: fileSystem ?? MemoryFileSystem.test(),
......
......@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.8
import 'dart:io' as io show ProcessSignal;
import 'package:file/file.dart';
......@@ -17,7 +15,7 @@ import 'package:process/process.dart';
import 'package:test/fake.dart';
import '../src/common.dart';
import '../src/context.dart';
import '../src/fake_process_manager.dart';
import '../src/fakes.dart';
import 'test_utils.dart';
......@@ -32,14 +30,14 @@ void main() {
}
testWithoutContext(
'should log a message to stderr when lock is not acquired', () async {
final String oldRoot = Cache.flutterRoot;
final String? oldRoot = Cache.flutterRoot;
final Directory tempDir = fileSystem.systemTempDirectory.createTempSync('cache_test.');
final BufferLogger logger = BufferLogger(
terminal: Terminal.test(supportsColor: false, supportsEmoji: false),
outputPreferences: OutputPreferences(),
);
logger.fatalWarnings = true;
Process process;
Process? process;
try {
Cache.flutterRoot = tempDir.absolute.path;
final Cache cache = Cache.test(
......@@ -48,10 +46,10 @@ void main() {
logger: logger,
);
final File cacheFile = fileSystem.file(fileSystem.path
.join(Cache.flutterRoot, 'bin', 'cache', 'lockfile'))
.join(Cache.flutterRoot!, 'bin', 'cache', 'lockfile'))
..createSync(recursive: true);
final File script = fileSystem.file(fileSystem.path
.join(Cache.flutterRoot, 'bin', 'cache', 'test_lock.dart'));
.join(Cache.flutterRoot!, 'bin', 'cache', 'test_lock.dart'));
script.writeAsStringSync(r'''
import 'dart:async';
import 'dart:io';
......@@ -113,7 +111,7 @@ Future<void> main(List<String> args) async {
});
testWithoutContext(
'should log a warning message for unknown version ', () async {
final String oldRoot = Cache.flutterRoot;
final String? oldRoot = Cache.flutterRoot;
final Directory tempDir = fileSystem.systemTempDirectory.createTempSync('cache_test.');
final BufferLogger logger = BufferLogger(
terminal: Terminal.test(supportsColor: false, supportsEmoji: false),
......@@ -164,8 +162,8 @@ Future<void> main(List<String> args) async {
}
class FakeArtifactUpdater extends Fake implements ArtifactUpdater {
void Function(String, Uri, Directory) onDownloadZipArchive;
void Function(String, Uri, Directory) onDownloadZipTarball;
void Function(String, Uri, Directory)? onDownloadZipArchive;
void Function(String, Uri, Directory)? onDownloadZipTarball;
@override
Future<void> downloadZippedTarball(String message, Uri url, Directory location) async {
......@@ -189,7 +187,7 @@ class FakeVersionlessArtifact extends CachedArtifact {
);
@override
String get version => null;
String? get version => null;
@override
Future<void> updateInner(ArtifactUpdater artifactUpdater, FileSystem fileSystem, OperatingSystemUtils operatingSystemUtils) async { }
......
......@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.8
import 'package:file/file.dart';
import 'package:flutter_tools/src/base/file_system.dart';
import 'package:flutter_tools/src/base/logger.dart';
......@@ -15,12 +13,12 @@ import 'package:flutter_tools/src/migrate/migrate_utils.dart';
import '../src/common.dart';
void main() {
BufferLogger logger;
FileSystem fileSystem;
Directory projectRoot;
String projectRootPath;
ProcessUtils processUtils;
MigrateUtils utils;
late BufferLogger logger;
late FileSystem fileSystem;
late Directory projectRoot;
late String projectRootPath;
late ProcessUtils processUtils;
late MigrateUtils utils;
setUpAll(() async {
fileSystem = globals.localFileSystem;
......
......@@ -360,7 +360,7 @@ class FakeFlutterVersion implements FlutterVersion {
final String engineRevisionShort;
@override
final String repositoryUrl;
final String? repositoryUrl;
@override
final String frameworkVersion;
......
......@@ -11,7 +11,7 @@ import 'package:flutter_tools/src/drive/web_driver_service.dart';
import 'package:package_config/package_config_types.dart';
import '../src/common.dart';
import '../src/context.dart';
import '../src/fake_process_manager.dart';
void main() {
testWithoutContext('WebDriverService catches SocketExceptions cleanly and includes link to documentation', () async {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment