diff --git a/animations/test/misc/animated_positioned_test.dart b/animations/test/misc/animated_positioned_test.dart new file mode 100644 index 000000000..39d3e6d5a --- /dev/null +++ b/animations/test/misc/animated_positioned_test.dart @@ -0,0 +1,33 @@ +// Copyright 2020 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/animated_positioned.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; + +Widget createAnimatedPositionedDemoScreen() => MaterialApp( + home: AnimatedPositionedDemo(), + ); + +void main() { + group('AnimatedPositioned Tests', () { + testWidgets('Position of Button Changes on Tap', (tester) async { + await tester.pumpWidget(createAnimatedPositionedDemoScreen()); + + var button = find.byType(InkWell); + + // Get initial position of the widget. + var initialPosition = tester.getTopLeft(button); + expect(initialPosition, isNotNull); + + // Tap on the widget. + await tester.tap(button); + await tester.pumpAndSettle(); + + // The new position should not be equal to initial position. + var newPosition = tester.getTopLeft(button); + expect(newPosition, isNot(offsetMoreOrLessEquals(initialPosition))); + }); + }); +}