|
1 | 1 | import 'dart:math' as math;
|
2 | 2 |
|
3 | 3 | import 'package:checks/checks.dart';
|
| 4 | +import 'package:collection/collection.dart'; |
4 | 5 | import 'package:flutter/foundation.dart';
|
5 | 6 | import 'package:flutter/gestures.dart';
|
6 | 7 | import 'package:flutter/widgets.dart';
|
@@ -247,27 +248,35 @@ Future<void> _checkSequence(
|
247 | 248 | child: _Item(i, height: 100));
|
248 | 249 | }
|
249 | 250 |
|
| 251 | + const center = ValueKey("center"); |
| 252 | + final slivers = <Widget>[ |
| 253 | + const SliverPadding( |
| 254 | + key: center, |
| 255 | + padding: EdgeInsets.zero), |
| 256 | + SliverStickyHeaderList( |
| 257 | + headerPlacement: headerPlacement, |
| 258 | + delegate: SliverChildListDelegate( |
| 259 | + List.generate(100, (i) => buildItem(i)))), |
| 260 | + ]; |
| 261 | + |
| 262 | + final double anchor; |
| 263 | + if (reverseGrowth) { |
| 264 | + slivers.reverseRange(0, slivers.length); |
| 265 | + anchor = 1.0; |
| 266 | + } else { |
| 267 | + anchor = 0.0; |
| 268 | + } |
| 269 | + |
250 | 270 | final controller = ScrollController();
|
251 |
| - const listKey = ValueKey("list"); |
252 |
| - const emptyKey = ValueKey("empty"); |
253 | 271 | await tester.pumpWidget(Directionality(
|
254 | 272 | textDirection: textDirection ?? TextDirection.rtl,
|
255 | 273 | child: CustomScrollView(
|
256 | 274 | controller: controller,
|
257 | 275 | scrollDirection: axis,
|
258 | 276 | reverse: reverse,
|
259 |
| - anchor: reverseGrowth ? 1.0 : 0.0, |
260 |
| - center: reverseGrowth ? emptyKey : listKey, |
261 |
| - slivers: [ |
262 |
| - SliverStickyHeaderList( |
263 |
| - key: listKey, |
264 |
| - headerPlacement: headerPlacement, |
265 |
| - delegate: SliverChildListDelegate( |
266 |
| - List.generate(100, (i) => buildItem(i)))), |
267 |
| - const SliverPadding( |
268 |
| - key: emptyKey, |
269 |
| - padding: EdgeInsets.zero), |
270 |
| - ]))); |
| 277 | + anchor: anchor, |
| 278 | + center: center, |
| 279 | + slivers: slivers))); |
271 | 280 |
|
272 | 281 | final overallSize = tester.getSize(find.byType(CustomScrollView));
|
273 | 282 | final extent = overallSize.onAxis(axis);
|
|
0 commit comments