// 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); }); }); }