Skip to content

Commit c9c5b3b

Browse files
authored
Adds ctrl+home/end, cmd+home/end key combinations (#11)
1 parent 357eb64 commit c9c5b3b

File tree

2 files changed

+33
-1
lines changed

2 files changed

+33
-1
lines changed

lib/src/input_method_engine.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ class ImeSimulator {
192192
'method': 'TextInputClient.updateEditingStateWithDeltas',
193193
});
194194

195-
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
195+
await _tester.binding.defaultBinaryMessenger.handlePlatformMessage(
196196
'flutter/textinput',
197197
messageBytes,
198198
(ByteData? _) {},

lib/src/keyboard.dart

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -459,6 +459,38 @@ extension KeyboardInput on WidgetTester {
459459
await sendKeyEvent(LogicalKeyboardKey.escape, platform: 'macos');
460460
await pumpAndSettle();
461461
}
462+
463+
Future<void> pressCmdHome(WidgetTester tester) async {
464+
await tester.sendKeyDownEvent(LogicalKeyboardKey.meta, platform: 'macos');
465+
await tester.sendKeyDownEvent(LogicalKeyboardKey.home, platform: 'macos');
466+
await tester.sendKeyUpEvent(LogicalKeyboardKey.meta, platform: 'macos');
467+
await tester.sendKeyUpEvent(LogicalKeyboardKey.home, platform: 'macos');
468+
await tester.pumpAndSettle();
469+
}
470+
471+
Future<void> pressCmdEnd(WidgetTester tester) async {
472+
await tester.sendKeyDownEvent(LogicalKeyboardKey.meta, platform: 'macos');
473+
await tester.sendKeyDownEvent(LogicalKeyboardKey.end, platform: 'macos');
474+
await tester.sendKeyUpEvent(LogicalKeyboardKey.meta, platform: 'macos');
475+
await tester.sendKeyUpEvent(LogicalKeyboardKey.end, platform: 'macos');
476+
await tester.pumpAndSettle();
477+
}
478+
479+
Future<void> pressCtrlHome(WidgetTester tester) async {
480+
await tester.sendKeyDownEvent(LogicalKeyboardKey.control, platform: 'macos');
481+
await tester.sendKeyDownEvent(LogicalKeyboardKey.home, platform: 'macos');
482+
await tester.sendKeyUpEvent(LogicalKeyboardKey.control, platform: 'macos');
483+
await tester.sendKeyUpEvent(LogicalKeyboardKey.home, platform: 'macos');
484+
await tester.pumpAndSettle();
485+
}
486+
487+
Future<void> pressCtrlEnd(WidgetTester tester) async {
488+
await tester.sendKeyDownEvent(LogicalKeyboardKey.control, platform: 'macos');
489+
await tester.sendKeyDownEvent(LogicalKeyboardKey.end, platform: 'macos');
490+
await tester.sendKeyUpEvent(LogicalKeyboardKey.control, platform: 'macos');
491+
await tester.sendKeyUpEvent(LogicalKeyboardKey.end, platform: 'macos');
492+
await tester.pumpAndSettle();
493+
}
462494
}
463495

464496
/// Returns a physical keyboard key combination that expects to create the

0 commit comments

Comments
 (0)