22// for details. All rights reserved. Use of this source code is governed by a
33// BSD-style license that can be found in the LICENSE file.
44
5- // @dart = 2.9
6-
75@Timeout (Duration (seconds: 60 ))
86import 'dart:async' ;
97import 'dart:io' ;
@@ -15,28 +13,28 @@ import 'package:webdev/src/serve/chrome.dart';
1513import 'package:webkit_inspection_protocol/webkit_inspection_protocol.dart' ;
1614
1715void main () {
18- Chrome chrome;
16+ Chrome ? chrome;
1917
20- Future <void > launchChrome ({int port, String userDataDir}) async {
18+ Future <void > launchChrome ({int ? port, String ? userDataDir}) async {
2119 chrome = await Chrome .start ([_googleUrl],
2220 port: port ?? 0 , userDataDir: userDataDir);
2321 }
2422
2523 Future <void > openTab (String url) =>
26- chrome.chromeConnection.getUrl (_openTabUrl (url));
24+ chrome! .chromeConnection.getUrl (_openTabUrl (url));
2725
2826 Future <void > closeTab (ChromeTab tab) =>
29- chrome.chromeConnection.getUrl (_closeTabUrl (tab.id));
27+ chrome! .chromeConnection.getUrl (_closeTabUrl (tab.id));
3028
3129 Future <WipConnection > connectToTab (String url) async {
32- var tab = await chrome.chromeConnection.getTab ((t) => t.url.contains (url));
30+ var tab = await chrome! .chromeConnection.getTab ((t) => t.url.contains (url));
3331 expect (tab, isNotNull);
34- return tab.connect ();
32+ return tab! .connect ();
3533 }
3634
3735 group ('chrome with temp data dir' , () {
3836 tearDown (() async {
39- var tabs = await chrome? .chromeConnection? .getTabs ();
37+ var tabs = await chrome? .chromeConnection.getTabs ();
4038 if (tabs != null ) {
4139 for (var tab in tabs) {
4240 await closeTab (tab);
@@ -53,7 +51,7 @@ void main() {
5351
5452 test ('has a working debugger' , () async {
5553 await launchChrome ();
56- var tabs = await chrome.chromeConnection.getTabs ();
54+ var tabs = await chrome! .chromeConnection.getTabs ();
5755 expect (
5856 tabs,
5957 contains (const TypeMatcher <ChromeTab >()
@@ -62,7 +60,7 @@ void main() {
6260
6361 test ('uses open debug port if provided port is 0' , () async {
6462 await launchChrome (port: 0 );
65- expect (chrome.debugPort, isNot (equals (0 )));
63+ expect (chrome! .debugPort, isNot (equals (0 )));
6664 });
6765
6866 test ('has correct profile path' , () async {
@@ -84,16 +82,16 @@ void main() {
8482 });
8583
8684 group ('chrome with user data dir' , () {
87- Directory dataDir;
88- StreamController <String > logController;
89- Stream <String > logStream;
85+ late Directory dataDir;
86+ late StreamController <String > logController;
87+ late Stream <String > logStream;
9088
9189 setUp (() {
9290 logController = StreamController <String >();
9391 logStream = logController.stream;
9492
9593 void _logWriter (Level level, String message,
96- {String error, String loggerName, String stackTrace}) {
94+ {String ? error, String ? loggerName, String ? stackTrace}) {
9795 if (level >= Level .INFO ) {
9896 logController.add ('[$level ] $loggerName : $message ' );
9997 }
@@ -104,7 +102,7 @@ void main() {
104102 });
105103
106104 tearDown (() async {
107- var tabs = await chrome? .chromeConnection? .getTabs ();
105+ var tabs = await chrome? .chromeConnection.getTabs ();
108106 if (tabs != null ) {
109107 for (var tab in tabs) {
110108 await closeTab (tab);
@@ -121,7 +119,7 @@ void main() {
121119 '.*chrome_user_data_copy' )));
122120 await logController.close ();
123121 }
124- dataDir? .deleteSync (recursive: true );
122+ dataDir.deleteSync (recursive: true );
125123 });
126124
127125 test ('works with debug port' , () async {
@@ -132,7 +130,7 @@ void main() {
132130 test ('has a working debugger' , () async {
133131 await launchChrome (userDataDir: dataDir.path);
134132
135- var tabs = await chrome.chromeConnection.getTabs ();
133+ var tabs = await chrome! .chromeConnection.getTabs ();
136134 expect (
137135 tabs,
138136 contains (const TypeMatcher <ChromeTab >()
@@ -160,7 +158,7 @@ void main() {
160158 var userDataDir = autoDetectChromeUserDataDirectory ();
161159 expect (userDataDir, isNotNull);
162160
163- expect (Directory (userDataDir).existsSync (), isTrue);
161+ expect (Directory (userDataDir! ).existsSync (), isTrue);
164162
165163 await launchChrome (userDataDir: userDataDir);
166164 await openTab (_chromeVersionUrl);
@@ -188,14 +186,14 @@ String _openTabUrl(String url) => '/json/new?$url';
188186String _closeTabUrl (String id) => '/json/close/$id ' ;
189187
190188Future <String > _evaluateExpression (WipPage page, String expression) async {
191- var result = '' ;
189+ String ? result = '' ;
192190 while (result == null || result.isEmpty) {
193191 await Future .delayed (const Duration (milliseconds: 100 ));
194192 var wipResponse = await page.sendCommand (
195193 'Runtime.evaluate' ,
196194 params: {'expression' : expression},
197195 );
198- result = wipResponse.json['result' ]['result' ]['value' ] as String ;
196+ result = wipResponse.json['result' ]['result' ]['value' ] as String ? ;
199197 }
200198 return result;
201199}
0 commit comments