import 'dart:ui' as ui; import 'package:flutter/services.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:plezy/focus/dpad_navigator.dart'; import 'package:plezy/focus/key_event_utils.dart'; import 'package:plezy/utils/platform_detector.dart'; void main() { tearDown(() { TvDetectionService.debugSetAppleTVOverride(null); BackKeyUpSuppressor.clearSuppression(); }); testWidgets('tvOS physical keyboard back runs on key down and suppresses key up', (tester) async { TvDetectionService.debugSetAppleTVOverride(true); var backs = 0; final downResult = handleBackKeyAction( const KeyDownEvent( physicalKey: PhysicalKeyboardKey.escape, logicalKey: LogicalKeyboardKey.escape, timeStamp: Duration.zero, deviceType: ui.KeyEventDeviceType.keyboard, ), () => backs++, ); final upResult = handleBackKeyAction( const KeyUpEvent( physicalKey: PhysicalKeyboardKey.escape, logicalKey: LogicalKeyboardKey.escape, timeStamp: Duration.zero, deviceType: ui.KeyEventDeviceType.keyboard, ), () => backs++, ); expect(downResult, KeyEventResult.handled); expect(upResult, KeyEventResult.handled); expect(backs, 1); }); }