From 7920a52dd5680651118312f9be0600797ff2257e Mon Sep 17 00:00:00 2001 From: Kostia Sokolovskyi Date: Tue, 7 May 2024 17:21:46 +0200 Subject: [PATCH] Add tests for callback_shortcuts.0.dart API example. (#147536) This PR contributes to https://github.com/flutter/flutter/issues/130459 ### Description - Corrects the name for `examples/api/test/widgets/shortcuts/callback_shortcuts.0_test.dart` test file - Update tests for `examples/api/lib/widgets/shortcuts/callback_shortcuts.0.dart` --- dev/bots/check_code_samples.dart | 1 - .../shortcuts/callback_shortcuts.0.dart | 29 ---------- .../shortcuts/callback_shortcuts.0_test.dart | 55 +++++++++++++++++++ 3 files changed, 55 insertions(+), 30 deletions(-) delete mode 100644 examples/api/test/widgets/shortcuts/callback_shortcuts.0.dart create mode 100644 examples/api/test/widgets/shortcuts/callback_shortcuts.0_test.dart diff --git a/dev/bots/check_code_samples.dart b/dev/bots/check_code_samples.dart index a6b363cd7e55..65faf0e384a4 100644 --- a/dev/bots/check_code_samples.dart +++ b/dev/bots/check_code_samples.dart @@ -431,7 +431,6 @@ final Set _knownMissingTests = { 'examples/api/test/widgets/image/image.frame_builder.0_test.dart', 'examples/api/test/widgets/image/image.loading_builder.0_test.dart', 'examples/api/test/widgets/shortcuts/logical_key_set.0_test.dart', - 'examples/api/test/widgets/shortcuts/callback_shortcuts.0_test.dart', 'examples/api/test/widgets/page_storage/page_storage.0_test.dart', 'examples/api/test/widgets/scrollbar/raw_scrollbar.1_test.dart', 'examples/api/test/widgets/scrollbar/raw_scrollbar.2_test.dart', diff --git a/examples/api/test/widgets/shortcuts/callback_shortcuts.0.dart b/examples/api/test/widgets/shortcuts/callback_shortcuts.0.dart deleted file mode 100644 index f0ac673ce677..000000000000 --- a/examples/api/test/widgets/shortcuts/callback_shortcuts.0.dart +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter/services.dart'; -import 'package:flutter_api_samples/widgets/shortcuts/callback_shortcuts.0.dart' as example; -import 'package:flutter_test/flutter_test.dart'; - -void main() { - testWidgets('CallbackShortcutsApp increments and decrements', (WidgetTester tester) async { - await tester.pumpWidget( - const example.CallbackShortcutsApp(), - ); - - expect(find.text('count: 0'), findsOneWidget); - - // Increment the counter. - await tester.sendKeyEvent(LogicalKeyboardKey.arrowUp); - await tester.pump(); - - expect(find.text('count: 1'), findsOneWidget); - - // Decrement the counter. - await tester.sendKeyEvent(LogicalKeyboardKey.arrowDown); - await tester.pump(); - - expect(find.text('count: 0'), findsOneWidget); - }); -} diff --git a/examples/api/test/widgets/shortcuts/callback_shortcuts.0_test.dart b/examples/api/test/widgets/shortcuts/callback_shortcuts.0_test.dart new file mode 100644 index 000000000000..d65ecccfc17b --- /dev/null +++ b/examples/api/test/widgets/shortcuts/callback_shortcuts.0_test.dart @@ -0,0 +1,55 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/services.dart'; +import 'package:flutter_api_samples/widgets/shortcuts/callback_shortcuts.0.dart' + as example; +import 'package:flutter_test/flutter_test.dart'; + +void main() { + testWidgets('Verify correct labels are displayed', (WidgetTester tester) async { + await tester.pumpWidget( + const example.CallbackShortcutsApp(), + ); + + expect(find.text('CallbackShortcuts Sample'), findsOneWidget); + expect( + find.text('Press the up arrow key to add to the counter'), + findsOneWidget, + ); + expect( + find.text('Press the down arrow key to subtract from the counter'), + findsOneWidget, + ); + expect(find.text('count: 0'), findsOneWidget); + }); + + testWidgets('Up and down arrow press updates counter', (WidgetTester tester) async { + await tester.pumpWidget( + const example.CallbackShortcutsApp(), + ); + + int counter = 0; + + while (counter < 10) { + expect(find.text('count: $counter'), findsOneWidget); + + // Increment the counter. + await tester.sendKeyEvent(LogicalKeyboardKey.arrowUp); + await tester.pump(); + + counter++; + } + + while (counter >= 0) { + expect(find.text('count: $counter'), findsOneWidget); + + // Decrement the counter. + await tester.sendKeyEvent(LogicalKeyboardKey.arrowDown); + await tester.pump(); + + counter--; + } + }); +}