diff --git a/packages/flutter_tools/test/commands.shard/permeable/create_test.dart b/packages/flutter_tools/test/commands.shard/permeable/create_test.dart index bdd0735191..39f184909d 100755 --- a/packages/flutter_tools/test/commands.shard/permeable/create_test.dart +++ b/packages/flutter_tools/test/commands.shard/permeable/create_test.dart @@ -1702,13 +1702,20 @@ void main() { }); testUsingContext( - 'invokes pub offline when requested', + 'invokes pub in online and offline modes', () async { Cache.flutterRoot = '../..'; final CreateCommand command = CreateCommand(); final CommandRunner runner = createTestCommandRunner(command); + // Run pub online first in order to populate the pub cache. + await runner.run(['create', '--pub', projectDir.path]); + expect(loggingProcessManager.commands.first, contains(matches(r'dart-sdk[\\/]bin[\\/]dart'))); + expect(loggingProcessManager.commands.first, isNot(contains('--offline'))); + + // Run pub offline. + loggingProcessManager.clear(); await runner.run(['create', '--pub', '--offline', projectDir.path]); expect(loggingProcessManager.commands.first, contains(matches(r'dart-sdk[\\/]bin[\\/]dart'))); expect(loggingProcessManager.commands.first, contains('--offline')); @@ -2820,4 +2827,8 @@ class LoggingProcessManager extends LocalProcessManager { mode: mode, ); } + + void clear() { + commands.clear(); + } }