@@ -36,6 +36,68 @@ void main() {
3636 .first;
3737 expect (render.stretchConfiguration? .stretchTriggerOffset, 20 );
3838 });
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+ });
39101}
40102
41103class TestDelegate extends SliverPersistentHeaderDelegate {
0 commit comments