@@ -7,7 +7,7 @@ import 'package:flutter_test/flutter_test.dart';
7
7
import 'package:pedantic/pedantic.dart' ;
8
8
import 'package:scrollable_positioned_list/scrollable_positioned_list.dart' ;
9
9
10
- const screenHeight = 400 .0 ;
10
+ const screenHeight = 100 .0 ;
11
11
const screenWidth = 400.0 ;
12
12
const itemWidth = screenWidth / 10.0 ;
13
13
const itemCount = 500 ;
@@ -45,6 +45,11 @@ void main() {
45
45
);
46
46
}
47
47
48
+ final Finder fadeTransitionFinder = find.descendant (
49
+ of: find.byType (ScrollablePositionedList ),
50
+ matching: find.byType (FadeTransition ),
51
+ );
52
+
48
53
testWidgets ('List positioned with 0 at left' , (WidgetTester tester) async {
49
54
final itemPositionsListener = ItemPositionsListener .create ();
50
55
await setUpWidgetTest (tester, itemPositionsListener: itemPositionsListener);
@@ -171,7 +176,7 @@ void main() {
171
176
await tester.pumpAndSettle ();
172
177
173
178
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 );
175
180
176
181
expect (
177
182
itemPositionsListener.itemPositions.value
@@ -195,6 +200,31 @@ void main() {
195
200
1 );
196
201
});
197
202
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
+
198
228
testWidgets ('padding test - centered sliver at left' ,
199
229
(WidgetTester tester) async {
200
230
final itemScrollController = ItemScrollController ();
0 commit comments