|
21 | 21 | // toolbar action slots) without weakening any of it. |
22 | 22 | // HAND-OFF provenance: lib/app → app-architect; lib/pble → app-protocol-engineer. |
23 | 23 |
|
24 | | -import 'dart:typed_data'; |
25 | | - |
26 | 24 | import 'package:flutter/foundation.dart'; |
27 | 25 | import 'package:flutter/material.dart'; |
28 | 26 | import 'package:flutter/rendering.dart'; |
@@ -95,15 +93,9 @@ Future<void> _focusLandscapeBlocks(WidgetTester tester) async { |
95 | 93 |
|
96 | 94 | void main() { |
97 | 95 | group('landscape software keyboard', () { |
98 | | - for (final TargetPlatform platform in <TargetPlatform>[ |
99 | | - TargetPlatform.android, |
100 | | - TargetPlatform.iOS, |
101 | | - ]) { |
102 | | - testWidgets('Expand dismisses a native Blocks keyboard on $platform', ( |
103 | | - WidgetTester tester, |
104 | | - ) async { |
105 | | - debugDefaultTargetPlatformOverride = platform; |
106 | | - addTearDown(() => debugDefaultTargetPlatformOverride = null); |
| 96 | + testWidgets( |
| 97 | + 'Expand requests native Blocks keyboard dismissal', |
| 98 | + (WidgetTester tester) async { |
107 | 99 | const MethodChannel keyboard = MethodChannel('dev.pyble/keyboard'); |
108 | 100 | final List<MethodCall> requests = <MethodCall>[]; |
109 | 101 | tester.binding.defaultBinaryMessenger.setMockMethodCallHandler( |
@@ -154,8 +146,12 @@ void main() { |
154 | 146 | ); |
155 | 147 | expect(tester.element(find.byKey(_blocksWorkspaceHostKey)), same(host)); |
156 | 148 | expect(tester.takeException(), isNull); |
157 | | - }); |
158 | | - } |
| 149 | + }, |
| 150 | + variant: TargetPlatformVariant(<TargetPlatform>{ |
| 151 | + TargetPlatform.android, |
| 152 | + TargetPlatform.iOS, |
| 153 | + }), |
| 154 | + ); |
159 | 155 |
|
160 | 156 | testWidgets('Expand preserves a Flutter editor draft and selection', ( |
161 | 157 | WidgetTester tester, |
|
0 commit comments