@@ -2612,7 +2612,7 @@ void main() {
26122612 // Go without throw.
26132613 });
26142614
2615- testWidgets ('Track offset respects padding' , (WidgetTester tester) async {
2615+ testWidgets ('Track offset respects MediaQuery padding' , (WidgetTester tester) async {
26162616 // Regression test for https://github.com/flutter/flutter/issues/106834
26172617 final ScrollController scrollController = ScrollController ();
26182618 await tester.pumpWidget (
@@ -2640,7 +2640,39 @@ void main() {
26402640 find.byType (RawScrollbar ),
26412641 paints
26422642 ..rect (rect: const Rect .fromLTRB (744.0 , 50.0 , 750.0 , 550.0 )) // track
2643- ..rect (rect: const Rect .fromLTRB (744.0 , 50.0 , 750.0 , 71.0 ))
2643+ ..rect (rect: const Rect .fromLTRB (744.0 , 50.0 , 750.0 , 71.0 )) // thumb
2644+ ); // thumb
2645+ });
2646+
2647+ testWidgets ('RawScrollbar.padding replaces MediaQueryData.padding' , (WidgetTester tester) async {
2648+ final ScrollController scrollController = ScrollController ();
2649+ await tester.pumpWidget (
2650+ Directionality (
2651+ textDirection: TextDirection .ltr,
2652+ child: MediaQuery (
2653+ data: const MediaQueryData (
2654+ padding: EdgeInsets .all (50.0 ),
2655+ ),
2656+ child: RawScrollbar (
2657+ controller: scrollController,
2658+ minThumbLength: 21 ,
2659+ minOverscrollLength: 8 ,
2660+ thumbVisibility: true ,
2661+ padding: const EdgeInsets .all (100 ),
2662+ child: SingleChildScrollView (
2663+ controller: scrollController,
2664+ child: const SizedBox (width: 1000.0 , height: 50000.0 ),
2665+ ),
2666+ ),
2667+ )
2668+ )
2669+ );
2670+ await tester.pumpAndSettle ();
2671+ expect (
2672+ find.byType (RawScrollbar ),
2673+ paints
2674+ ..rect (rect: const Rect .fromLTRB (694.0 , 100.0 , 700.0 , 500.0 )) // track
2675+ ..rect (rect: const Rect .fromLTRB (694.0 , 100.0 , 700.0 , 121.0 )) // thumb
26442676 ); // thumb
26452677 });
26462678}
0 commit comments