Unverified Commit dfaec11b authored by Jonah Williams's avatar Jonah Williams Committed by GitHub

migrate web integration tests to null safety (#106231)

parent adec8f23
......@@ -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 '../integration.shard/test_data/stepping_project.dart';
......@@ -12,8 +10,8 @@ import '../integration.shard/test_utils.dart';
import '../src/common.dart';
void main() {
Directory tempDirectory;
FlutterRunTestDriver flutter;
late Directory tempDirectory;
late FlutterRunTestDriver flutter;
setUp(() {
tempDirectory = createResolvedTempDirectorySync('debugger_stepping_test.');
......@@ -30,13 +28,13 @@ void main() {
additionalCommandArgs: <String>['--verbose', '--web-renderer=html']);
await flutter.addBreakpoint(project.breakpointUri, project.breakpointLine);
await flutter.resume(waitForNextPause: true); // Now we should be on the breakpoint.
expect((await flutter.getSourceLocation()).line, equals(project.breakpointLine));
expect((await flutter.getSourceLocation())!.line, equals(project.breakpointLine));
// Issue 5 steps, ensuring that we end up on the annotated lines each time.
for (int i = 1; i <= project.numberOfSteps; i += 1) {
await flutter.stepOverOrOverAsyncSuspension();
final SourcePosition location = await flutter.getSourceLocation();
final int actualLine = location.line;
final SourcePosition? location = await flutter.getSourceLocation();
final int actualLine = location!.line;
// Get the line we're expected to stop at by searching for the comment
// within the source code.
......
......@@ -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:vm_service/vm_service.dart';
......@@ -16,8 +14,8 @@ import '../src/common.dart';
void main() {
group('Flutter run for web', () {
final BasicProject project = BasicProject();
Directory tempDir;
FlutterRunTestDriver flutter;
late Directory tempDir;
late FlutterRunTestDriver flutter;
setUp(() async {
tempDir = createResolvedTempDirectorySync('run_expression_eval_test.');
......@@ -33,7 +31,7 @@ void main() {
tryToDelete(tempDir);
});
Future<void> start({bool expressionEvaluation}) async {
Future<void> start({required bool expressionEvaluation}) async {
// The non-test project has a loop around its breakpoints.
// No need to start paused as all breakpoint would be eventually reached.
await flutter.run(
......@@ -116,8 +114,8 @@ void main() {
group('Flutter test for web', () {
final TestsProject project = TestsProject();
Directory tempDir;
FlutterRunTestDriver flutter;
late Directory tempDir;
late FlutterRunTestDriver flutter;
setUp(() async {
tempDir = createResolvedTempDirectorySync('run_expression_eval_test.');
......@@ -130,7 +128,7 @@ void main() {
tryToDelete(tempDir);
});
Future<Isolate> breakInMethod(FlutterTestDriver flutter) async {
Future<Isolate?> breakInMethod(FlutterTestDriver flutter) async {
await flutter.addBreakpoint(
project.breakpointAppUri,
project.breakpointLine,
......@@ -138,7 +136,7 @@ void main() {
return flutter.resume(waitForNextPause: true);
}
Future<void> startPaused({bool expressionEvaluation}) {
Future<void> startPaused({required bool expressionEvaluation}) {
// The test project does not have a loop around its breakpoints.
// Start paused so we can set a breakpoint before passing it
// in the execution.
......@@ -224,19 +222,19 @@ Future<void> evaluateComplexExpressions(FlutterTestDriver flutter) async {
Future<void> evaluateTrivialExpressionsInLibrary(FlutterTestDriver flutter) async {
final LibraryRef library = await getRootLibrary(flutter);
final ObjRef res = await flutter.evaluate(library.id, '"test"');
final ObjRef res = await flutter.evaluate(library.id!, '"test"');
expectInstance(res, InstanceKind.kString, 'test');
}
Future<void> evaluateComplexExpressionsInLibrary(FlutterTestDriver flutter) async {
final LibraryRef library = await getRootLibrary(flutter);
final ObjRef res = await flutter.evaluate(library.id, 'new DateTime.now().year');
final ObjRef res = await flutter.evaluate(library.id!, 'new DateTime.now().year');
expectInstance(res, InstanceKind.kDouble, DateTime.now().year.toString());
}
Future<void> evaluateWebLibraryBooleanFromEnvironmentInLibrary(FlutterTestDriver flutter) async {
final LibraryRef library = await getRootLibrary(flutter);
final ObjRef res = await flutter.evaluate(library.id, 'const bool.fromEnvironment("dart.library.html")');
final ObjRef res = await flutter.evaluate(library.id!, 'const bool.fromEnvironment("dart.library.html")');
expectInstance(res, InstanceKind.kBool, true.toString());
}
......@@ -246,8 +244,8 @@ Future<LibraryRef> getRootLibrary(FlutterTestDriver flutter) async {
//
// Issue: https://github.com/dart-lang/sdk/issues/44760
final Isolate isolate = await flutter.getFlutterIsolate();
return isolate.libraries
.firstWhere((LibraryRef l) => l.uri.contains('org-dartlang-app'));
return isolate.libraries!
.firstWhere((LibraryRef l) => l.uri!.contains('org-dartlang-app'));
}
void expectInstance(ObjRef result, String kind, String message) {
......
......@@ -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:file/file.dart';
......@@ -14,9 +12,9 @@ import '../integration.shard/test_utils.dart';
import '../src/common.dart';
void main() {
Directory tempDir;
late Directory tempDir;
final HotReloadProject project = HotReloadProject();
FlutterRunTestDriver flutter;
late FlutterRunTestDriver flutter;
setUp(() async {
tempDir = createResolvedTempDirectorySync('hot_reload_test.');
......@@ -25,8 +23,8 @@ void main() {
});
tearDown(() async {
await flutter?.stop();
await flutter?.done;
await flutter.stop();
await flutter.done;
tryToDelete(tempDir);
});
......
......@@ -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:vm_service/vm_service.dart';
......@@ -15,15 +13,14 @@ import '../integration.shard/test_utils.dart';
import '../src/common.dart';
void main() {
Directory tempDir;
late Directory tempDir;
final BasicProjectWithUnaryMain project = BasicProjectWithUnaryMain();
FlutterRunTestDriver flutter;
late FlutterRunTestDriver flutter;
setUp(() async {
tempDir = createResolvedTempDirectorySync('run_test.');
await project.setUpIn(tempDir);
flutter = FlutterRunTestDriver(tempDir);
//flutter.stdout.listen(print);
});
tearDown(() async {
......@@ -37,7 +34,6 @@ void main() {
await flutter.run(
withDebugger: true,
chrome: true,
expressionEvaluation: true,
additionalCommandArgs: <String>[
if (verbose) '--verbose',
'--web-renderer=html',
......
......@@ -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:file/file.dart';
......@@ -17,9 +15,9 @@ import '../integration.shard/test_utils.dart';
import '../src/common.dart';
void main() {
Directory tempDir;
late Directory tempDir;
final BasicProjectWithUnaryMain project = BasicProjectWithUnaryMain();
FlutterRunTestDriver flutter;
late FlutterRunTestDriver flutter;
group('Clients of flutter run on web with DDS enabled', () {
setUp(() async {
......@@ -92,7 +90,7 @@ void main() {
}
Future<void> validateFlutterVersion(VmService client) async {
String method;
String? method;
final Future<dynamic> registration = expectLater(
client.onEvent('Service'),
......@@ -110,10 +108,10 @@ Future<void> validateFlutterVersion(VmService client) async {
await registration;
await client.streamCancel('Service');
final dynamic version1 = await client.callServiceExtension(method);
final dynamic version1 = await client.callServiceExtension(method!);
expect(version1, const TypeMatcher<Success>()
.having((Success r) => r.type, 'type', 'Success')
.having((Success r) => r.json['frameworkVersion'], 'frameworkVersion', isNotNull));
.having((Success r) => r.json!['frameworkVersion'], 'frameworkVersion', isNotNull));
await client.dispose();
}
......@@ -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/base/common.dart';
import 'package:flutter_tools/src/base/logger.dart';
import 'package:flutter_tools/src/base/process.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/file.dart';
import 'package:flutter_tools/src/base/file_system.dart';
......@@ -13,9 +11,9 @@ import '../integration.shard/test_utils.dart';
import '../src/common.dart';
void main() {
Directory tempDir;
late Directory tempDir;
final BasicProjectWithUnaryMain project = BasicProjectWithUnaryMain();
FlutterRunTestDriver flutter;
late FlutterRunTestDriver flutter;
setUp(() async {
tempDir = createResolvedTempDirectorySync('run_test.');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment