@@ -23,6 +23,7 @@ import 'package:flutter_tools/src/ios/ios_workflow.dart';
23
23
import 'package:flutter_tools/src/macos/xcode.dart' ;
24
24
import 'package:flutter_tools/src/mdns_discovery.dart' ;
25
25
import 'package:flutter_tools/src/project.dart' ;
26
+ import 'package:flutter_tools/src/reporting/reporting.dart' ;
26
27
import 'package:meta/meta.dart' ;
27
28
import 'package:mockito/mockito.dart' ;
28
29
import 'package:platform/platform.dart' ;
@@ -44,6 +45,7 @@ class MockMDnsObservatoryDiscovery extends Mock implements MDnsObservatoryDiscov
44
45
class MockXcode extends Mock implements Xcode {}
45
46
class MockFile extends Mock implements File {}
46
47
class MockPortForwarder extends Mock implements DevicePortForwarder {}
48
+ class MockUsage extends Mock implements Usage {}
47
49
48
50
void main () {
49
51
final FakePlatform macPlatform = FakePlatform .fromPlatform (const LocalPlatform ());
@@ -84,6 +86,7 @@ void main() {
84
86
MockPortForwarder mockPortForwarder;
85
87
MockIMobileDevice mockIMobileDevice;
86
88
MockIOSDeploy mockIosDeploy;
89
+ MockUsage mockUsage;
87
90
88
91
Directory tempDir;
89
92
Directory projectDir;
@@ -115,6 +118,7 @@ void main() {
115
118
mockPortForwarder = MockPortForwarder ();
116
119
mockIMobileDevice = MockIMobileDevice ();
117
120
mockIosDeploy = MockIOSDeploy ();
121
+ mockUsage = MockUsage ();
118
122
119
123
tempDir = fs.systemTempDirectory.createTempSync ('flutter_tools_create_test.' );
120
124
projectDir = tempDir.childDirectory ('flutter_project' );
@@ -183,6 +187,7 @@ void main() {
183
187
debuggingOptions: DebuggingOptions .enabled (const BuildInfo (BuildMode .debug, null )),
184
188
platformArgs: < String , dynamic > {},
185
189
);
190
+ verify (mockUsage.sendEvent ('ios-mdns' , 'success' )).called (1 );
186
191
expect (launchResult.started, isTrue);
187
192
expect (launchResult.hasObservatory, isTrue);
188
193
expect (await device.stopApp (mockApp), isFalse);
@@ -193,6 +198,7 @@ void main() {
193
198
MDnsObservatoryDiscovery : () => mockMDnsObservatoryDiscovery,
194
199
Platform : () => macPlatform,
195
200
ProcessManager : () => mockProcessManager,
201
+ Usage : () => mockUsage,
196
202
});
197
203
198
204
testUsingContext (' succeeds in debug mode when mDNS fails by falling back to manual protocol discovery' , () async {
@@ -212,6 +218,7 @@ void main() {
212
218
debuggingOptions: DebuggingOptions .enabled (const BuildInfo (BuildMode .debug, null )),
213
219
platformArgs: < String , dynamic > {},
214
220
);
221
+ verify (mockUsage.sendEvent ('ios-mdns' , 'failure' )).called (1 );
215
222
expect (launchResult.started, isTrue);
216
223
expect (launchResult.hasObservatory, isTrue);
217
224
expect (await device.stopApp (mockApp), isFalse);
@@ -222,6 +229,7 @@ void main() {
222
229
MDnsObservatoryDiscovery : () => mockMDnsObservatoryDiscovery,
223
230
Platform : () => macPlatform,
224
231
ProcessManager : () => mockProcessManager,
232
+ Usage : () => mockUsage,
225
233
});
226
234
227
235
testUsingContext (' fails in debug mode when mDNS fails and when Observatory URI is malformed' , () async {
0 commit comments