refactor context to be implicit-downcast safe (#31622)
diff --git a/packages/flutter_tools/test/application_package_test.dart b/packages/flutter_tools/test/application_package_test.dart index ccd83c6..503701c 100644 --- a/packages/flutter_tools/test/application_package_test.dart +++ b/packages/flutter_tools/test/application_package_test.dart
@@ -146,21 +146,21 @@ testUsingContext('Error when parsing manifest with no Activity that has enabled set to true nor has no value for its enabled field', () { final ApkManifestData data = ApkManifestData.parseFromXmlDump(_aaptDataWithNoEnabledActivity); expect(data, isNull); - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); expect( logger.errorText, 'Error running io.flutter.examples.hello_world. Default activity not found\n'); }, overrides: noColorTerminalOverride); testUsingContext('Error when parsing manifest with no Activity that has action set to android.intent.action.MAIN', () { final ApkManifestData data = ApkManifestData.parseFromXmlDump(_aaptDataWithNoMainActivity); expect(data, isNull); - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); expect( logger.errorText, 'Error running io.flutter.examples.hello_world. Default activity not found\n'); }, overrides: noColorTerminalOverride); testUsingContext('Error when parsing manifest with no Activity that has category set to android.intent.category.LAUNCHER', () { final ApkManifestData data = ApkManifestData.parseFromXmlDump(_aaptDataWithNoLauncherActivity); expect(data, isNull); - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); expect( logger.errorText, 'Error running io.flutter.examples.hello_world. Default activity not found\n'); }, overrides: noColorTerminalOverride); @@ -176,7 +176,7 @@ final PrebuiltIOSApp iosApp = IOSApp.fromPrebuiltApp(fs.file('not_existing.ipa')); expect(iosApp, isNull); - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); expect( logger.errorText, 'File "not_existing.ipa" does not exist. Use an app bundle or an ipa.\n', @@ -187,7 +187,7 @@ final PrebuiltIOSApp iosApp = IOSApp.fromPrebuiltApp(fs.file('regular_folder')); expect(iosApp, isNull); - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); expect( logger.errorText, 'Folder "regular_folder" is not an app bundle.\n'); }, overrides: overrides); @@ -195,7 +195,7 @@ fs.directory('bundle.app').createSync(); final PrebuiltIOSApp iosApp = IOSApp.fromPrebuiltApp(fs.file('bundle.app')); expect(iosApp, isNull); - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); expect( logger.errorText, 'Invalid prebuilt iOS app. Does not contain Info.plist.\n', @@ -206,7 +206,7 @@ fs.file('bundle.app/Info.plist').writeAsStringSync(badPlistData); final PrebuiltIOSApp iosApp = IOSApp.fromPrebuiltApp(fs.file('bundle.app')); expect(iosApp, isNull); - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); expect( logger.errorText, contains( @@ -217,7 +217,7 @@ fs.directory('bundle.app').createSync(); fs.file('bundle.app/Info.plist').writeAsStringSync(plistData); final PrebuiltIOSApp iosApp = IOSApp.fromPrebuiltApp(fs.file('bundle.app')); - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); expect(logger.errorText, isEmpty); expect(iosApp.bundleDir.path, 'bundle.app'); expect(iosApp.id, 'fooBundleId'); @@ -228,7 +228,7 @@ when(os.unzip(fs.file('app.ipa'), any)).thenAnswer((Invocation _) { }); final PrebuiltIOSApp iosApp = IOSApp.fromPrebuiltApp(fs.file('app.ipa')); expect(iosApp, isNull); - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); expect( logger.errorText, 'Invalid prebuilt iOS ipa. Does not contain a "Payload" directory.\n', @@ -251,7 +251,7 @@ }); final PrebuiltIOSApp iosApp = IOSApp.fromPrebuiltApp(fs.file('app.ipa')); expect(iosApp, isNull); - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); expect(logger.errorText, 'Invalid prebuilt iOS ipa. Does not contain a single app bundle.\n'); }, overrides: overrides); @@ -271,7 +271,7 @@ .writeAsStringSync(plistData); }); final PrebuiltIOSApp iosApp = IOSApp.fromPrebuiltApp(fs.file('app.ipa')); - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); expect(logger.errorText, isEmpty); expect(iosApp.bundleDir.path, endsWith('bundle.app')); expect(iosApp.id, 'fooBundleId');
diff --git a/packages/flutter_tools/test/base/context_test.dart b/packages/flutter_tools/test/base/context_test.dart index 9b05cbc..db2692b 100644 --- a/packages/flutter_tools/test/base/context_test.dart +++ b/packages/flutter_tools/test/base/context_test.dart
@@ -80,7 +80,7 @@ await context.run<void>( body: () { outer.future.then<void>((_) { - value = context[String]; + value = context.get<String>(); inner.complete(); }); }, @@ -99,10 +99,10 @@ String value; await context.run<void>( body: () async { - final StringBuffer buf = StringBuffer(context[String]); - buf.write(context[String]); + final StringBuffer buf = StringBuffer(context.get<String>()); + buf.write(context.get<String>()); await context.run<void>(body: () { - buf.write(context[String]); + buf.write(context.get<String>()); }); value = buf.toString(); }, @@ -122,10 +122,10 @@ String value; await context.run( body: () async { - final StringBuffer buf = StringBuffer(context[String]); - buf.write(context[String]); + final StringBuffer buf = StringBuffer(context.get<String>()); + buf.write(context.get<String>()); await context.run<void>(body: () { - buf.write(context[String]); + buf.write(context.get<String>()); }); value = buf.toString(); }, @@ -142,7 +142,7 @@ test('returns null if generated value is null', () async { final String value = await context.run<String>( - body: () => context[String], + body: () => context.get<String>(), overrides: <Type, Generator>{ String: () => null, }, @@ -153,12 +153,12 @@ test('throws if generator has dependency cycle', () async { final Future<String> value = context.run<String>( body: () async { - return context[String]; + return context.get<String>(); }, fallbacks: <Type, Generator>{ - int: () => int.parse(context[String]), - String: () => '${context[double]}', - double: () => (context[int] as int) * 1.0, // ignore: avoid_as + int: () => int.parse(context.get<String>()), + String: () => '${context.get<double>()}', + double: () => context.get<int>() * 1.0, }, ); try { @@ -197,7 +197,7 @@ return context.run<String>( body: () { called = true; - return context[String]; + return context.get<String>(); }, fallbacks: <Type, Generator>{ String: () => 'child', @@ -216,7 +216,7 @@ return context.run<String>( body: () { called = true; - return context[String]; + return context.get<String>(); }, fallbacks: <Type, Generator>{ String: () { @@ -238,11 +238,11 @@ test('may depend on one another', () async { final String value = await context.run<String>( body: () { - return context[String]; + return context.get<String>(); }, fallbacks: <Type, Generator>{ int: () => 123, - String: () => '-${context[int]}-', + String: () => '-${context.get<int>()}-', }, ); expect(value, '-123-'); @@ -255,7 +255,7 @@ final String value = await context.run<String>( body: () { return context.run<String>( - body: () => context[String], + body: () => context.get<String>(), overrides: <Type, Generator>{ String: () => 'child', },
diff --git a/packages/flutter_tools/test/base/logger_test.dart b/packages/flutter_tools/test/base/logger_test.dart index e650ce5..c878855 100644 --- a/packages/flutter_tools/test/base/logger_test.dart +++ b/packages/flutter_tools/test/base/logger_test.dart
@@ -163,7 +163,7 @@ testUsingContext('Stdout startProgress on colored terminal for $testOs', () async { bool done = false; FakeAsync().run((FakeAsync time) { - final Logger logger = context[Logger]; + final Logger logger = context.get<Logger>(); final Status status = logger.startProgress( 'Hello', progressId: null, @@ -191,7 +191,7 @@ testUsingContext('Stdout startProgress on colored terminal pauses on $testOs', () async { bool done = false; FakeAsync().run((FakeAsync time) { - final Logger logger = context[Logger]; + final Logger logger = context.get<Logger>(); final Status status = logger.startProgress( 'Knock Knock, Who\'s There', timeout: const Duration(days: 10), @@ -368,7 +368,7 @@ List<String> outputStderr() => mockStdio.writtenToStderr.join('').split('\n'); testUsingContext('Error logs are wrapped', () async { - final Logger logger = context[Logger]; + final Logger logger = context.get<Logger>(); logger.printError('0123456789' * 15); final List<String> lines = outputStderr(); expect(outputStdout().length, equals(1)); @@ -385,7 +385,7 @@ }); testUsingContext('Error logs are wrapped and can be indented.', () async { - final Logger logger = context[Logger]; + final Logger logger = context.get<Logger>(); logger.printError('0123456789' * 15, indent: 5); final List<String> lines = outputStderr(); expect(outputStdout().length, equals(1)); @@ -405,7 +405,7 @@ }); testUsingContext('Error logs are wrapped and can have hanging indent.', () async { - final Logger logger = context[Logger]; + final Logger logger = context.get<Logger>(); logger.printError('0123456789' * 15, hangingIndent: 5); final List<String> lines = outputStderr(); expect(outputStdout().length, equals(1)); @@ -425,7 +425,7 @@ }); testUsingContext('Error logs are wrapped, indented, and can have hanging indent.', () async { - final Logger logger = context[Logger]; + final Logger logger = context.get<Logger>(); logger.printError('0123456789' * 15, indent: 4, hangingIndent: 5); final List<String> lines = outputStderr(); expect(outputStdout().length, equals(1)); @@ -445,7 +445,7 @@ }); testUsingContext('Stdout logs are wrapped', () async { - final Logger logger = context[Logger]; + final Logger logger = context.get<Logger>(); logger.printStatus('0123456789' * 15); final List<String> lines = outputStdout(); expect(outputStderr().length, equals(1)); @@ -462,7 +462,7 @@ }); testUsingContext('Stdout logs are wrapped and can be indented.', () async { - final Logger logger = context[Logger]; + final Logger logger = context.get<Logger>(); logger.printStatus('0123456789' * 15, indent: 5); final List<String> lines = outputStdout(); expect(outputStderr().length, equals(1)); @@ -482,7 +482,7 @@ }); testUsingContext('Stdout logs are wrapped and can have hanging indent.', () async { - final Logger logger = context[Logger]; + final Logger logger = context.get<Logger>(); logger.printStatus('0123456789' * 15, hangingIndent: 5); final List<String> lines = outputStdout(); expect(outputStderr().length, equals(1)); @@ -502,7 +502,7 @@ }); testUsingContext('Stdout logs are wrapped, indented, and can have hanging indent.', () async { - final Logger logger = context[Logger]; + final Logger logger = context.get<Logger>(); logger.printStatus('0123456789' * 15, indent: 4, hangingIndent: 5); final List<String> lines = outputStdout(); expect(outputStderr().length, equals(1)); @@ -522,7 +522,7 @@ }); testUsingContext('Error logs are red', () async { - final Logger logger = context[Logger]; + final Logger logger = context.get<Logger>(); logger.printError('Pants on fire!'); final List<String> lines = outputStderr(); expect(outputStdout().length, equals(1)); @@ -536,7 +536,7 @@ }); testUsingContext('Stdout logs are not colored', () async { - final Logger logger = context[Logger]; + final Logger logger = context.get<Logger>(); logger.printStatus('All good.'); final List<String> lines = outputStdout(); expect(outputStderr().length, equals(1)); @@ -549,7 +549,7 @@ }); testUsingContext('Stdout printStatus handle null inputs on colored terminal', () async { - final Logger logger = context[Logger]; + final Logger logger = context.get<Logger>(); logger.printStatus( null, emphasis: null, @@ -568,7 +568,7 @@ }); testUsingContext('Stdout printStatus handle null inputs on non-color terminal', () async { - final Logger logger = context[Logger]; + final Logger logger = context.get<Logger>(); logger.printStatus( null, emphasis: null, @@ -590,7 +590,7 @@ testUsingContext('Stdout startProgress on non-color terminal', () async { bool done = false; FakeAsync().run((FakeAsync time) { - final Logger logger = context[Logger]; + final Logger logger = context.get<Logger>(); final Status status = logger.startProgress( 'Hello', progressId: null, @@ -661,7 +661,7 @@ }, overrides: <Type, Generator>{Stdio: () => mockStdio, Platform: _kNoAnsiPlatform}); testUsingContext('sequential startProgress calls with StdoutLogger', () async { - final Logger logger = context[Logger]; + final Logger logger = context.get<Logger>(); logger.startProgress('AAA', timeout: timeoutConfiguration.fastOperation)..stop(); logger.startProgress('BBB', timeout: timeoutConfiguration.fastOperation)..stop(); final List<String> output = outputStdout(); @@ -679,7 +679,7 @@ }); testUsingContext('sequential startProgress calls with VerboseLogger and StdoutLogger', () async { - final Logger logger = context[Logger]; + final Logger logger = context.get<Logger>(); logger.startProgress('AAA', timeout: timeoutConfiguration.fastOperation)..stop(); logger.startProgress('BBB', timeout: timeoutConfiguration.fastOperation)..stop(); expect(outputStdout(), <Matcher>[ @@ -696,7 +696,7 @@ }); testUsingContext('sequential startProgress calls with BufferLogger', () async { - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); logger.startProgress('AAA', timeout: timeoutConfiguration.fastOperation)..stop(); logger.startProgress('BBB', timeout: timeoutConfiguration.fastOperation)..stop(); expect(logger.statusText, 'AAA\nBBB\n');
diff --git a/packages/flutter_tools/test/commands/config_test.dart b/packages/flutter_tools/test/commands/config_test.dart index c93c204..78828b4 100644 --- a/packages/flutter_tools/test/commands/config_test.dart +++ b/packages/flutter_tools/test/commands/config_test.dart
@@ -25,7 +25,7 @@ group('config', () { testUsingContext('machine flag', () async { - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); final ConfigCommand command = ConfigCommand(); await command.handleMachine();
diff --git a/packages/flutter_tools/test/compile_test.dart b/packages/flutter_tools/test/compile_test.dart index 5ec7075..a47ef0a 100644 --- a/packages/flutter_tools/test/compile_test.dart +++ b/packages/flutter_tools/test/compile_test.dart
@@ -114,7 +114,7 @@ }); testUsingContext('single dart successful compilation', () async { - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); when(mockFrontendServer.stdout) .thenAnswer((Invocation invocation) => Stream<List<int>>.fromFuture( Future<List<int>>.value(utf8.encode( @@ -137,7 +137,7 @@ }); testUsingContext('single dart failed compilation', () async { - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); when(mockFrontendServer.stdout) .thenAnswer((Invocation invocation) => Stream<List<int>>.fromFuture( @@ -163,7 +163,7 @@ testUsingContext('single dart abnormal compiler termination', () async { when(mockFrontendServer.exitCode).thenAnswer((_) async => 255); - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); when(mockFrontendServer.stdout) .thenAnswer((Invocation invocation) => Stream<List<int>>.fromFuture( @@ -221,7 +221,7 @@ }); testUsingContext('single dart compile', () async { - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); when(mockFrontendServer.stdout) .thenAnswer((Invocation invocation) => Stream<List<int>>.fromFuture( @@ -265,7 +265,7 @@ }); testUsingContext('compile and recompile', () async { - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); final StreamController<List<int>> streamController = StreamController<List<int>>(); when(mockFrontendServer.stdout) @@ -309,7 +309,7 @@ }); testUsingContext('compile and recompile twice', () async { - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); final StreamController<List<int>> streamController = StreamController<List<int>>(); when(mockFrontendServer.stdout) @@ -380,7 +380,7 @@ }); testUsingContext('compile single expression', () async { - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); final Completer<List<int>> compileResponseCompleter = Completer<List<int>>(); @@ -432,7 +432,7 @@ }); testUsingContext('compile expressions without awaiting', () async { - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); final Completer<List<int>> compileResponseCompleter = Completer<List<int>>(); final Completer<List<int>> compileExpressionResponseCompleter1 = Completer<List<int>>();
diff --git a/packages/flutter_tools/test/crash_reporting_test.dart b/packages/flutter_tools/test/crash_reporting_test.dart index 90ee335..01aa924 100644 --- a/packages/flutter_tools/test/crash_reporting_test.dart +++ b/packages/flutter_tools/test/crash_reporting_test.dart
@@ -109,7 +109,7 @@ expect(fields['error_runtime_type'], 'StateError'); expect(fields['error_message'], 'Bad state: Test bad state error'); - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); expect(logger.statusText, 'Sending crash report to Google.\n' 'Crash report sent (report ID: test-report-id)\n');
diff --git a/packages/flutter_tools/test/dart/pub_get_test.dart b/packages/flutter_tools/test/dart/pub_get_test.dart index eb09f26..ef278b3 100644 --- a/packages/flutter_tools/test/dart/pub_get_test.dart +++ b/packages/flutter_tools/test/dart/pub_get_test.dart
@@ -27,7 +27,7 @@ testUsingContext('pub get 69', () async { String error; - final MockProcessManager processMock = context[ProcessManager]; + final MockProcessManager processMock = context.get<ProcessManager>(); FakeAsync().run((FakeAsync time) { expect(processMock.lastPubEnvironment, isNull); @@ -95,8 +95,8 @@ testUsingContext('pub cache in root is used', () async { String error; - final MockProcessManager processMock = context[ProcessManager]; - final MockFileSystem fsMock = context[FileSystem]; + final MockProcessManager processMock = context.get<ProcessManager>() as MockProcessManager; + final MockFileSystem fsMock = context.get<FileSystem>() as MockFileSystem; FakeAsync().run((FakeAsync time) { MockDirectory.findCache = true; @@ -122,7 +122,7 @@ testUsingContext('pub cache in environment is used', () async { String error; - final MockProcessManager processMock = context[ProcessManager]; + final MockProcessManager processMock = context.get<ProcessManager>(); FakeAsync().run((FakeAsync time) { MockDirectory.findCache = true;
diff --git a/packages/flutter_tools/test/src/context.dart b/packages/flutter_tools/test/src/context.dart index 7203676..8e9e3a8 100644 --- a/packages/flutter_tools/test/src/context.dart +++ b/packages/flutter_tools/test/src/context.dart
@@ -30,10 +30,10 @@ export 'package:flutter_tools/src/base/context.dart' show Generator; /// Return the test logger. This assumes that the current Logger is a BufferLogger. -BufferLogger get testLogger => context[Logger]; +BufferLogger get testLogger => context.get<Logger>(); -MockDeviceManager get testDeviceManager => context[DeviceManager]; -MockDoctor get testDoctor => context[Doctor]; +MockDeviceManager get testDeviceManager => context.get<DeviceManager>(); +MockDoctor get testDoctor => context.get<Doctor>(); typedef ContextInitializer = void Function(AppContext testContext); @@ -126,8 +126,8 @@ } void _printBufferedErrors(AppContext testContext) { - if (testContext[Logger] is BufferLogger) { - final BufferLogger bufferLogger = testContext[Logger]; + if (testContext.get<Logger>() is BufferLogger) { + final BufferLogger bufferLogger = testContext.get<Logger>(); if (bufferLogger.errorText.isNotEmpty) print(bufferLogger.errorText); bufferLogger.clear();
diff --git a/packages/flutter_tools/test/version_test.dart b/packages/flutter_tools/test/version_test.dart index 328e703..312d889 100644 --- a/packages/flutter_tools/test/version_test.dart +++ b/packages/flutter_tools/test/version_test.dart
@@ -414,7 +414,7 @@ } void _expectVersionMessage(String message) { - final BufferLogger logger = context[Logger]; + final BufferLogger logger = context.get<Logger>(); expect(logger.statusText.trim(), message.trim()); logger.clear(); }