@@ -7,7 +7,7 @@ import 'package:flutter_test/flutter_test.dart';
77import 'package:pedantic/pedantic.dart' ;
88import 'package:scrollable_positioned_list/scrollable_positioned_list.dart' ;
99
10- const screenHeight = 400 .0 ;
10+ const screenHeight = 100 .0 ;
1111const screenWidth = 400.0 ;
1212const itemWidth = screenWidth / 10.0 ;
1313const itemCount = 500 ;
@@ -45,6 +45,11 @@ void main() {
4545 );
4646 }
4747
48+ final Finder fadeTransitionFinder = find.descendant (
49+ of: find.byType (ScrollablePositionedList ),
50+ matching: find.byType (FadeTransition ),
51+ );
52+
4853 testWidgets ('List positioned with 0 at left' , (WidgetTester tester) async {
4954 final itemPositionsListener = ItemPositionsListener .create ();
5055 await setUpWidgetTest (tester, itemPositionsListener: itemPositionsListener);
@@ -171,7 +176,7 @@ void main() {
171176 await tester.pumpAndSettle ();
172177
173178 expect (tester.getTopLeft (find.text ('Item 100' )).dx, 0 );
174- expect (tester.getBottomRight (find.text ('Item 109' )).dy, screenWidth );
179+ expect (tester.getBottomRight (find.text ('Item 109' )).dy, screenHeight );
175180
176181 expect (
177182 itemPositionsListener.itemPositions.value
@@ -195,6 +200,31 @@ void main() {
195200 1 );
196201 });
197202
203+ testWidgets ('Scroll to 20 without fading' , (WidgetTester tester) async {
204+ final itemScrollController = ItemScrollController ();
205+ final itemPositionsListener = ItemPositionsListener .create ();
206+ await setUpWidgetTest (tester,
207+ itemScrollController: itemScrollController,
208+ itemPositionsListener: itemPositionsListener);
209+
210+ var fadeTransition = tester.widget <FadeTransition >(fadeTransitionFinder);
211+ final initialOpacity = fadeTransition.opacity;
212+
213+ unawaited (
214+ itemScrollController.scrollTo (index: 20 , duration: scrollDuration));
215+ await tester.pump ();
216+ await tester.pump ();
217+ await tester.pump (scrollDuration ~ / 2 );
218+
219+ fadeTransition = tester.widget <FadeTransition >(fadeTransitionFinder);
220+ expect (fadeTransition.opacity, initialOpacity);
221+
222+ await tester.pumpAndSettle ();
223+
224+ expect (find.text ('Item 14' ), findsNothing);
225+ expect (find.text ('Item 20' ), findsOneWidget);
226+ });
227+
198228 testWidgets ('padding test - centered sliver at left' ,
199229 (WidgetTester tester) async {
200230 final itemScrollController = ItemScrollController ();
0 commit comments