Add test for focus example 2 (#147624)
Part of #130459. Adds tests to [the last focus example](https://api.flutter.dev/flutter/widgets/Focus-class.html#widgets.Focus.3).
This commit is contained in:
parent
7a3baded76
commit
e0533caeb7
@ -431,7 +431,6 @@ final Set<String> _knownMissingTests = <String>{
|
||||
'examples/api/test/widgets/actions/action_listener.0_test.dart',
|
||||
'examples/api/test/widgets/actions/focusable_action_detector.0_test.dart',
|
||||
'examples/api/test/widgets/color_filter/color_filtered.0_test.dart',
|
||||
'examples/api/test/widgets/focus_scope/focus.2_test.dart',
|
||||
'examples/api/test/widgets/focus_scope/focus_scope.0_test.dart',
|
||||
'examples/api/test/widgets/scroll_view/custom_scroll_view.1_test.dart',
|
||||
'examples/api/test/widgets/inherited_notifier/inherited_notifier.0_test.dart',
|
||||
|
42
examples/api/test/widgets/focus_scope/focus.2_test.dart
Normal file
42
examples/api/test/widgets/focus_scope/focus.2_test.dart
Normal file
@ -0,0 +1,42 @@
|
||||
// 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/material.dart';
|
||||
import 'package:flutter_api_samples/widgets/focus_scope/focus.2.dart'
|
||||
as example;
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
|
||||
void main() {
|
||||
testWidgets('Adds children through button', (WidgetTester tester) async {
|
||||
await tester.pumpWidget(const example.FocusExampleApp());
|
||||
expect(find.byIcon(Icons.add), findsOneWidget);
|
||||
expect(find.text('CHILD 0'), findsOneWidget);
|
||||
|
||||
for (int i = 1; i <= 20; i += 1) {
|
||||
await tester.tap(find.byIcon(Icons.add));
|
||||
await tester.pumpAndSettle();
|
||||
expect(find.text('CHILD $i'), findsOneWidget);
|
||||
expect(find.textContaining('CHILD '), findsNWidgets(i + 1));
|
||||
}
|
||||
});
|
||||
|
||||
testWidgets('Inserts focus nodes', (WidgetTester tester) async {
|
||||
await tester.pumpWidget(const example.FocusExampleApp());
|
||||
expect(find.byIcon(Icons.add), findsOneWidget);
|
||||
|
||||
for (int i = 0; i <= 10; i += 1) {
|
||||
expect(find.text('CHILD $i'), findsOneWidget);
|
||||
final ActionChip chip = tester.widget<ActionChip>(find.ancestor(
|
||||
of: find.text('CHILD $i'),
|
||||
matching: find.byType(ActionChip)
|
||||
));
|
||||
expect(chip.focusNode, isNotNull);
|
||||
expect(chip.focusNode!.hasPrimaryFocus, isTrue);
|
||||
expect(chip.focusNode!.debugLabel, 'Child $i');
|
||||
|
||||
await tester.tap(find.byIcon(Icons.add));
|
||||
await tester.pumpAndSettle();
|
||||
}
|
||||
});
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user