@@ -37,14 +37,16 @@ void main() {
37
37
await pumpAndConnectDevTools (tester, testApp);
38
38
resetDevToolsExtensionEnabledStates ();
39
39
40
- expect (extensionService.availableExtensions.value.length, 3 );
41
- expect (extensionService.visibleExtensions.value.length, 3 );
40
+ expect (extensionService.availableExtensions.value.length, 5 );
41
+ expect (extensionService.visibleExtensions.value.length, 5 );
42
42
await _verifyExtensionsSettingsMenu (
43
43
tester,
44
44
[
45
- ExtensionEnabledState .none,
46
- ExtensionEnabledState .none,
47
- ExtensionEnabledState .none,
45
+ ExtensionEnabledState .none, // bar
46
+ ExtensionEnabledState .none, // baz
47
+ ExtensionEnabledState .none, // foo
48
+ ExtensionEnabledState .none, // provider
49
+ ExtensionEnabledState .none, // some_tool
48
50
],
49
51
closeMenuWhenDone: false ,
50
52
);
@@ -62,16 +64,18 @@ void main() {
62
64
await _verifyExtensionsSettingsMenu (
63
65
tester,
64
66
[
65
- ExtensionEnabledState .enabled,
66
- ExtensionEnabledState .none,
67
- ExtensionEnabledState .none,
67
+ ExtensionEnabledState .enabled, // bar
68
+ ExtensionEnabledState .none, // baz
69
+ ExtensionEnabledState .none, // foo
70
+ ExtensionEnabledState .none, // provider
71
+ ExtensionEnabledState .none, // some_tool
68
72
],
69
73
);
70
74
71
- await _verifyContextMenuActions (tester);
75
+ await _verifyContextMenuActionsAndDisable (tester);
72
76
73
- expect (extensionService.availableExtensions.value.length, 3 );
74
- expect (extensionService.visibleExtensions.value.length, 2 );
77
+ expect (extensionService.availableExtensions.value.length, 5 );
78
+ expect (extensionService.visibleExtensions.value.length, 4 );
75
79
await _verifyExtensionTabVisibility (
76
80
tester,
77
81
extensionIndex: 0 ,
@@ -80,22 +84,24 @@ void main() {
80
84
await _verifyExtensionsSettingsMenu (
81
85
tester,
82
86
[
83
- ExtensionEnabledState .disabled,
84
- ExtensionEnabledState .none,
85
- ExtensionEnabledState .none,
87
+ ExtensionEnabledState .disabled, // bar
88
+ ExtensionEnabledState .none, // baz
89
+ ExtensionEnabledState .none, // foo
90
+ ExtensionEnabledState .none, // provider
91
+ ExtensionEnabledState .none, // some_tool
86
92
],
87
93
);
88
94
89
- // Foo extension. Hide immediately, then re-enable from extensions menu .
95
+ // Baz extension. Hide immediately.
90
96
await _switchToExtensionScreen (
91
97
tester,
92
98
extensionIndex: 1 ,
93
99
initialLoad: true ,
94
100
);
95
101
await _answerEnableExtensionPrompt (tester, enable: false );
96
102
97
- expect (extensionService.availableExtensions.value.length, 3 );
98
- expect (extensionService.visibleExtensions.value.length, 1 );
103
+ expect (extensionService.availableExtensions.value.length, 5 );
104
+ expect (extensionService.visibleExtensions.value.length, 3 );
99
105
await _verifyExtensionTabVisibility (
100
106
tester,
101
107
extensionIndex: 1 ,
@@ -104,31 +110,36 @@ void main() {
104
110
await _verifyExtensionsSettingsMenu (
105
111
tester,
106
112
[
107
- ExtensionEnabledState .disabled,
108
- ExtensionEnabledState .disabled,
109
- ExtensionEnabledState .none,
113
+ ExtensionEnabledState .disabled, // bar
114
+ ExtensionEnabledState .disabled, // baz
115
+ ExtensionEnabledState .none, // foo
116
+ ExtensionEnabledState .none, // provider
117
+ ExtensionEnabledState .none, // some_tool
110
118
],
111
119
);
112
120
121
+ // Re-enable Baz extension from the extensions settings menu.
113
122
logStatus ('verify we can re-enable an extension from the settings menu' );
114
123
await _changeExtensionSetting (tester, extensionIndex: 1 , enable: true );
115
124
116
- expect (extensionService.availableExtensions.value.length, 3 );
117
- expect (extensionService.visibleExtensions.value.length, 2 );
125
+ expect (extensionService.availableExtensions.value.length, 5 );
126
+ expect (extensionService.visibleExtensions.value.length, 4 );
118
127
await _switchToExtensionScreen (tester, extensionIndex: 1 );
119
128
expect (find.byType (EnableExtensionPrompt ), findsNothing);
120
129
expect (find.byType (EmbeddedExtensionView ), findsOneWidget);
121
130
expect (find.byType (HtmlElementView ), findsOneWidget);
122
131
await _verifyExtensionsSettingsMenu (
123
132
tester,
124
133
[
125
- ExtensionEnabledState .disabled,
126
- ExtensionEnabledState .enabled,
127
- ExtensionEnabledState .none,
134
+ ExtensionEnabledState .disabled, // bar
135
+ ExtensionEnabledState .enabled, // baz
136
+ ExtensionEnabledState .none, // foo
137
+ ExtensionEnabledState .none, // provider
138
+ ExtensionEnabledState .none, // some_tool
128
139
],
129
140
);
130
141
131
- // Provider extension. Disable directly from settings menu.
142
+ // Foo extension. Disable directly from settings menu.
132
143
logStatus (
133
144
'verify we can disable an extension screen directly from the settings menu' ,
134
145
);
@@ -140,8 +151,8 @@ void main() {
140
151
141
152
logStatus ('disable the extension from the settings menu' );
142
153
await _changeExtensionSetting (tester, extensionIndex: 2 , enable: false );
143
- expect (extensionService.availableExtensions.value.length, 3 );
144
- expect (extensionService.visibleExtensions.value.length, 1 );
154
+ expect (extensionService.availableExtensions.value.length, 5 );
155
+ expect (extensionService.visibleExtensions.value.length, 3 );
145
156
await _verifyExtensionTabVisibility (
146
157
tester,
147
158
extensionIndex: 2 ,
@@ -150,9 +161,11 @@ void main() {
150
161
await _verifyExtensionsSettingsMenu (
151
162
tester,
152
163
[
153
- ExtensionEnabledState .disabled,
154
- ExtensionEnabledState .enabled,
155
- ExtensionEnabledState .disabled,
164
+ ExtensionEnabledState .disabled, // bar
165
+ ExtensionEnabledState .enabled, // baz
166
+ ExtensionEnabledState .disabled, // foo
167
+ ExtensionEnabledState .none, // provider
168
+ ExtensionEnabledState .none, // some_tool
156
169
],
157
170
);
158
171
});
@@ -222,7 +235,7 @@ Future<void> _answerEnableExtensionPrompt(
222
235
);
223
236
}
224
237
225
- Future <void > _verifyContextMenuActions (WidgetTester tester) async {
238
+ Future <void > _verifyContextMenuActionsAndDisable (WidgetTester tester) async {
226
239
logStatus ('verify we can perform context menu actions' );
227
240
final contextMenuFinder = find.descendant (
228
241
of: find.byType (EmbeddedExtensionHeader ),
@@ -263,6 +276,7 @@ Future<void> _verifyExtensionsSettingsMenu(
263
276
.cast <DevToolsToggleButtonGroup >()
264
277
.toList ();
265
278
for (int i = 0 ; i < toggleButtonGroups.length; i++ ) {
279
+ logStatus ('verify extension settings toggle button states (index $i )' );
266
280
final group = toggleButtonGroups[i];
267
281
final expectedStates = switch (enabledStates[i]) {
268
282
ExtensionEnabledState .enabled => [true , false ],
@@ -316,12 +330,12 @@ Future<void> _changeExtensionSetting(
316
330
}
317
331
318
332
Future <void > _verifyExtensionVisibilitySetting (WidgetTester tester) async {
319
- logStatus ('verify we can toggle the show only enabled extensions setting' );
333
+ logStatus ('verify we can toggle the " show only enabled extensions" setting' );
320
334
expect (
321
335
preferences.devToolsExtensions.showOnlyEnabledExtensions.value,
322
336
isFalse,
323
337
);
324
- expect (extensionService.visibleExtensions.value.length, 3 );
338
+ expect (extensionService.visibleExtensions.value.length, 5 );
325
339
// No need to open the settings menu as it should already be open.
326
340
await _toggleShowOnlyEnabledExtensions (tester);
327
341
expect (
@@ -336,7 +350,7 @@ Future<void> _verifyExtensionVisibilitySetting(WidgetTester tester) async {
336
350
preferences.devToolsExtensions.showOnlyEnabledExtensions.value,
337
351
isFalse,
338
352
);
339
- expect (extensionService.visibleExtensions.value.length, 3 );
353
+ expect (extensionService.visibleExtensions.value.length, 5 );
340
354
341
355
await _closeExtensionSettingsMenu (tester);
342
356
}
0 commit comments