From 35aceb961ea9a257df8a977c23414d5c42d0c235 Mon Sep 17 00:00:00 2001 From: Arteev Raina Date: Fri, 12 Feb 2021 08:14:57 +0530 Subject: [PATCH] [animations] added test for focus image (#711) --- animations/test/misc/focus_image_test.dart | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 animations/test/misc/focus_image_test.dart diff --git a/animations/test/misc/focus_image_test.dart b/animations/test/misc/focus_image_test.dart new file mode 100644 index 000000000..bae4cbfc2 --- /dev/null +++ b/animations/test/misc/focus_image_test.dart @@ -0,0 +1,56 @@ +// 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() => 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); + }); + }); +}