@@ -206,6 +206,50 @@ void main() {
206206 }),
207207 );
208208
209+ testWidgets (
210+ 'Scrollbar uses values from ScrollbarTheme if exists instead of values from Theme' ,
211+ (WidgetTester tester) async {
212+ final ScrollbarThemeData scrollbarTheme = _scrollbarTheme ();
213+ final ScrollController scrollController = ScrollController ();
214+ await tester.pumpWidget (
215+ MaterialApp (
216+ theme: ThemeData (
217+ scrollbarTheme: scrollbarTheme,
218+ ),
219+ home: ScrollConfiguration (
220+ behavior: const NoScrollbarBehavior (),
221+ child: ScrollbarTheme (
222+ data: _scrollbarTheme ().copyWith (
223+ thumbColor: MaterialStateProperty .all (const Color (0xFF000000 )),
224+ ),
225+ child: Scrollbar (
226+ thumbVisibility: true ,
227+ controller: scrollController,
228+ child: SingleChildScrollView (
229+ controller: scrollController,
230+ child: const SizedBox (width: 4000.0 , height: 4000.0 ),
231+ ),
232+ ),
233+ ),
234+ ),
235+ ),
236+ );
237+ await tester.pumpAndSettle ();
238+ // Idle scrollbar behavior
239+ expect (
240+ find.byType (Scrollbar ),
241+ paints
242+ ..rrect (
243+ rrect: RRect .fromRectAndRadius (
244+ const Rect .fromLTRB (785.0 , 10.0 , 795.0 , 97.0 ),
245+ const Radius .circular (6.0 ),
246+ ),
247+ color: const Color (0xFF000000 ),
248+ ),
249+ );
250+ },
251+ );
252+
209253 testWidgets ('ScrollbarTheme can disable gestures' , (WidgetTester tester) async {
210254 final ScrollController scrollController = ScrollController ();
211255 await tester.pumpWidget (MaterialApp (
0 commit comments