@@ -36,6 +36,68 @@ void main() {
36
36
.first;
37
37
expect (render.stretchConfiguration? .stretchTriggerOffset, 20 );
38
38
});
39
+
40
+ testWidgets (
41
+ '_SliverPinnedPersistentHeader should update stretchConfiguration' ,
42
+ (WidgetTester tester) async {
43
+ for (final double stretchTriggerOffset in < double > [10.0 , 20.0 ]) {
44
+ await tester.pumpWidget (MaterialApp (
45
+ home: CustomScrollView (
46
+ slivers: < Widget > [
47
+ SliverPersistentHeader (
48
+ pinned: true ,
49
+ delegate: TestDelegate (
50
+ stretchConfiguration: OverScrollHeaderStretchConfiguration (
51
+ stretchTriggerOffset: stretchTriggerOffset,
52
+ ),
53
+ ),
54
+ )
55
+ ],
56
+ ),
57
+ ));
58
+ }
59
+
60
+ expect (
61
+ tester.allWidgets.where ((Widget w) =>
62
+ w.runtimeType.toString () == '_SliverPinnedPersistentHeader' ),
63
+ isNotEmpty);
64
+
65
+ final RenderSliverPinnedPersistentHeader render = tester.allRenderObjects
66
+ .whereType <RenderSliverPinnedPersistentHeader >()
67
+ .first;
68
+ expect (render.stretchConfiguration? .stretchTriggerOffset, 20 );
69
+ });
70
+
71
+ testWidgets (
72
+ '_SliverPinnedPersistentHeader should update showOnScreenConfiguration' ,
73
+ (WidgetTester tester) async {
74
+ for (final double maxShowOnScreenExtent in < double > [1000 , 2000 ]) {
75
+ await tester.pumpWidget (MaterialApp (
76
+ home: CustomScrollView (
77
+ slivers: < Widget > [
78
+ SliverPersistentHeader (
79
+ pinned: true ,
80
+ delegate: TestDelegate (
81
+ showOnScreenConfiguration:
82
+ PersistentHeaderShowOnScreenConfiguration (
83
+ maxShowOnScreenExtent: maxShowOnScreenExtent),
84
+ ),
85
+ )
86
+ ],
87
+ ),
88
+ ));
89
+ }
90
+
91
+ expect (
92
+ tester.allWidgets.where ((Widget w) =>
93
+ w.runtimeType.toString () == '_SliverPinnedPersistentHeader' ),
94
+ isNotEmpty);
95
+
96
+ final RenderSliverPinnedPersistentHeader render = tester.allRenderObjects
97
+ .whereType <RenderSliverPinnedPersistentHeader >()
98
+ .first;
99
+ expect (render.showOnScreenConfiguration? .maxShowOnScreenExtent, 2000 );
100
+ });
39
101
}
40
102
41
103
class TestDelegate extends SliverPersistentHeaderDelegate {
0 commit comments