Files
upstream-flutter-samples/animations/test/misc/focus_image_test.dart
upstream-mirror 9ed6a80afa
Some checks failed
Main Branch CI / Test Flutter beta on ubuntu-latest (push) Has been skipped
Main Branch CI / Test Flutter stable on ubuntu-latest (push) Has been skipped
Main Branch CI / Test Flutter beta on macos-latest (push) Has been cancelled
Main Branch CI / Test Flutter stable on macos-latest (push) Has been cancelled
snapshot of https://github.com/flutter/samples.git (main, 2026-09-16; blobs > 131072B omitted)
2026-09-16 01:43:26 +05:00

54 lines
1.7 KiB
Dart

// Copyright 2021 The Flutter team. 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:animations/src/misc/focus_image.dart';
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
Widget createFocusImageScreen() => const MaterialApp(home: FocusImageDemo());
void main() {
group('FocusImage Tests', () {
testWidgets('Size of ink well changes on tap', (tester) async {
await tester.pumpWidget(createFocusImageScreen());
// Get the initial inkwell.
final initialInkwell = tester.widget(find.byType(InkWell).at(0));
// Get the size of initial inkwell.
var initialSize = tester.getSize(find.byWidget(initialInkwell));
// Tap on the ink well at index 0.
await tester.tap(find.byType(InkWell).at(0));
await tester.pumpAndSettle();
// Get the final inkwell.
final finalInkwell = tester.widget(find.byType(InkWell).at(0));
// Get the size of final inkwell.
var finalSize = tester.getSize(find.byWidget(finalInkwell));
// Final size should be greater than initial size.
expect(finalSize, greaterThan(initialSize));
});
testWidgets('Final inkwell on tap goes back to the grid', (
tester,
) async {
await tester.pumpWidget(createFocusImageScreen());
// Tap on the ink well at index 0.
await tester.tap(find.byType(InkWell).at(0));
await tester.pumpAndSettle();
// Tap on the final inkwell.
await tester.tap(find.byType(InkWell));
await tester.pumpAndSettle();
// The grid view should appear again.
expect(find.byType(Grid), findsOneWidget);
});
});
}