prettify the flutter web bootstrap file (#55125)

This commit is contained in:
Devon Carew 2020-04-20 11:24:50 -04:00 committed by GitHub
parent 8e5b575174
commit f050ee67e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 8 deletions

View File

@ -584,18 +584,23 @@ class _ResidentWebRunner extends ResidentWebRunner {
}
final String entrypoint = <String>[
'import "$importedEntrypoint" as entrypoint;',
'import "dart:ui" as ui;',
'// Flutter web bootstrap script for $importedEntrypoint.',
'',
"import 'dart:ui' as ui;",
'',
"import '$importedEntrypoint' as entrypoint;",
if (hasWebPlugins)
'import "package:flutter_web_plugins/flutter_web_plugins.dart";',
"import 'package:flutter_web_plugins/flutter_web_plugins.dart';",
if (hasWebPlugins)
'import "$generatedImport";',
"import '$generatedImport';",
'',
'Future<void> main() async {',
if (hasWebPlugins)
' registerPlugins(webPluginRegistry);',
' await ui.webOnlyInitializePlatform();',
' entrypoint.main();',
'}',
'',
].join('\n');
result.writeAsStringSync(entrypoint);
}

View File

@ -11,6 +11,7 @@ import 'package:flutter_tools/src/base/io.dart';
import 'package:flutter_tools/src/base/logger.dart';
import 'package:flutter_tools/src/base/terminal.dart';
import 'package:flutter_tools/src/build_info.dart';
import 'package:flutter_tools/src/build_runner/devfs_web.dart';
import 'package:flutter_tools/src/build_runner/resident_web_runner.dart';
import 'package:flutter_tools/src/compile.dart';
import 'package:flutter_tools/src/dart/pub.dart';
@ -21,7 +22,6 @@ import 'package:flutter_tools/src/project.dart';
import 'package:flutter_tools/src/reporting/reporting.dart';
import 'package:flutter_tools/src/resident_runner.dart';
import 'package:flutter_tools/src/web/chrome.dart';
import 'package:flutter_tools/src/build_runner/devfs_web.dart';
import 'package:flutter_tools/src/web/web_device.dart';
import 'package:mockito/mockito.dart';
import 'package:platform/platform.dart';
@ -390,9 +390,10 @@ void main() {
// Ensure that generated entrypoint is generated correctly.
expect(entrypointFileName, isNotNull);
expect(globals.fs.file(entrypointFileName).readAsStringSync(), contains(
'await ui.webOnlyInitializePlatform();'
));
final String entrypointContents = globals.fs.file(entrypointFileName).readAsStringSync();
expect(entrypointContents, contains('// Flutter web bootstrap script'));
expect(entrypointContents, contains("import 'dart:ui' as ui;"));
expect(entrypointContents, contains('await ui.webOnlyInitializePlatform();'));
expect(testLogger.statusText, contains('Restarted application in'));
expect(result.code, 0);