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