mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
Migrate some test files to null safety (#104469)
This commit is contained in:
parent
b3e98a922a
commit
a56c5e51ae
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user