@@ -3,75 +3,245 @@ import 'package:flutter/material.dart';
33import 'package:flutter_test/flutter_test.dart' ;
44
55void main () {
6- testWidgets (
7- 'SideTitleWidget left' ,
8- (WidgetTester tester) async {
9- await tester.pumpWidget (
10- const MaterialApp (
11- home: Scaffold (
12- body: SideTitleWidget (
13- axisSide: AxisSide .left,
14- child: Text ('1s' ),
6+ group (
7+ 'SideTitle without FitInside enabled' ,
8+ () {
9+ testWidgets (
10+ 'SideTitleWidget left' ,
11+ (WidgetTester tester) async {
12+ await tester.pumpWidget (
13+ const MaterialApp (
14+ home: Scaffold (
15+ body: SideTitleWidget (
16+ axisSide: AxisSide .left,
17+ child: Text ('1s' ),
18+ ),
19+ ),
1520 ),
16- ),
17- ),
21+ );
22+ expect (find.byType (Transform ), findsAtLeastNWidgets (2 ));
23+ expect (find.byType (Container ), findsOneWidget);
24+ expect (find.text ('1s' ), findsOneWidget);
25+ },
1826 );
19- expect (find.byType (Container ), findsOneWidget);
20- expect (find.text ('1s' ), findsOneWidget);
21- },
22- );
2327
24- testWidgets (
25- 'SideTitleWidget top' ,
26- (WidgetTester tester) async {
27- await tester.pumpWidget (
28- const MaterialApp (
29- home: Scaffold (
30- body: SideTitleWidget (
31- axisSide: AxisSide .top,
32- child: Text ('1s' ),
28+ testWidgets (
29+ 'SideTitleWidget top' ,
30+ (WidgetTester tester) async {
31+ await tester.pumpWidget (
32+ const MaterialApp (
33+ home: Scaffold (
34+ body: SideTitleWidget (
35+ axisSide: AxisSide .top,
36+ child: Text ('1s' ),
37+ ),
38+ ),
3339 ),
34- ),
35- ),
40+ );
41+ expect (find.byType (Transform ), findsAtLeastNWidgets (2 ));
42+ expect (find.byType (Container ), findsOneWidget);
43+ expect (find.text ('1s' ), findsOneWidget);
44+ },
3645 );
37- expect (find.byType (Container ), findsOneWidget);
38- expect (find.text ('1s' ), findsOneWidget);
39- },
40- );
4146
42- testWidgets (
43- 'SideTitleWidget right' ,
44- (WidgetTester tester) async {
45- await tester.pumpWidget (
46- const MaterialApp (
47- home: Scaffold (
48- body: SideTitleWidget (
49- axisSide: AxisSide .right,
50- child: Text ('1s' ),
47+ testWidgets (
48+ 'SideTitleWidget right' ,
49+ (WidgetTester tester) async {
50+ await tester.pumpWidget (
51+ const MaterialApp (
52+ home: Scaffold (
53+ body: SideTitleWidget (
54+ axisSide: AxisSide .right,
55+ child: Text ('1s' ),
56+ ),
57+ ),
5158 ),
52- ),
53- ),
59+ );
60+ expect (find.byType (Transform ), findsAtLeastNWidgets (2 ));
61+ expect (find.byType (Container ), findsOneWidget);
62+ expect (find.text ('1s' ), findsOneWidget);
63+ },
64+ );
65+
66+ testWidgets (
67+ 'SideTitleWidget bottom' ,
68+ (WidgetTester tester) async {
69+ const widgetKey = Key ('SideTitleWidget' );
70+ const sideTitleWidget = SideTitleWidget (
71+ key: widgetKey,
72+ axisSide: AxisSide .bottom,
73+ child: Text ('1s' ),
74+ );
75+
76+ await tester.pumpWidget (
77+ const MaterialApp (
78+ home: Scaffold (
79+ body: sideTitleWidget,
80+ ),
81+ ),
82+ );
83+
84+ final element =
85+ tester.element (find.byKey (widgetKey)) as StatefulElement ;
86+ final state = element.state as State <SideTitleWidget >;
87+ expect (state.widget, equals (sideTitleWidget));
88+ expect (element.renderObject! .attached, isTrue);
89+
90+ expect (find.byType (Transform ), findsAtLeastNWidgets (2 ));
91+ expect (find.byType (Container ), findsOneWidget);
92+ expect (find.text ('1s' ), findsOneWidget);
93+
94+ await tester.pump ();
95+ },
5496 );
55- expect (find.byType (Container ), findsOneWidget);
56- expect (find.text ('1s' ), findsOneWidget);
5797 },
5898 );
99+ group (
100+ 'SideTitle with FitInside enabled' ,
101+ () {
102+ testWidgets (
103+ 'SideTitleWidget left with FitInsideEnabled on Top Side' ,
104+ (WidgetTester tester) async {
105+ const widgetKey = Key ('SideTitleWidget' );
106+ const sideTitleWidget = SideTitleWidget (
107+ key: widgetKey,
108+ axisSide: AxisSide .left,
109+ fitInside: SideTitleFitInsideData (
110+ enabled: true ,
111+ axisPosition: 0 ,
112+ parentAxisSize: 100 ,
113+ distanceFromEdge: 0 ,
114+ ),
115+ child: Text ('A Long Text' ),
116+ );
59117
60- testWidgets (
61- 'SideTitleWidget bottom' ,
62- (WidgetTester tester) async {
63- await tester.pumpWidget (
64- const MaterialApp (
65- home: Scaffold (
66- body: SideTitleWidget (
67- axisSide: AxisSide .bottom,
68- child: Text ('1s' ),
118+ await tester.pumpWidget (
119+ const MaterialApp (
120+ home: Scaffold (
121+ body: sideTitleWidget,
122+ ),
69123 ),
70- ),
71- ),
124+ );
125+
126+ final element =
127+ tester.element (find.byKey (widgetKey)) as StatefulElement ;
128+ final state = element.state as State <SideTitleWidget >;
129+ expect (state.widget, equals (sideTitleWidget));
130+ expect (element.renderObject! .attached, isTrue);
131+
132+ expect (find.byType (Transform ), findsAtLeastNWidgets (2 ));
133+ expect (find.byType (Container ), findsOneWidget);
134+ expect (find.text ('A Long Text' ), findsOneWidget);
135+ },
136+ );
137+
138+ testWidgets (
139+ 'SideTitleWidget left with FitInsideEnabled on Bottom Side' ,
140+ (WidgetTester tester) async {
141+ const widgetKey = Key ('SideTitleWidget' );
142+ const sideTitleWidget = SideTitleWidget (
143+ key: widgetKey,
144+ axisSide: AxisSide .left,
145+ fitInside: SideTitleFitInsideData (
146+ enabled: true ,
147+ axisPosition: 100 ,
148+ parentAxisSize: 100 ,
149+ distanceFromEdge: 0 ,
150+ ),
151+ child: Text ('A Long Text' ),
152+ );
153+
154+ await tester.pumpWidget (
155+ const MaterialApp (
156+ home: Scaffold (
157+ body: sideTitleWidget,
158+ ),
159+ ),
160+ );
161+
162+ final element =
163+ tester.element (find.byKey (widgetKey)) as StatefulElement ;
164+ final state = element.state as State <SideTitleWidget >;
165+ expect (state.widget, equals (sideTitleWidget));
166+ expect (element.renderObject! .attached, isTrue);
167+
168+ expect (find.byType (Transform ), findsAtLeastNWidgets (2 ));
169+ expect (find.byType (Container ), findsOneWidget);
170+ expect (find.text ('A Long Text' ), findsOneWidget);
171+ },
172+ );
173+
174+ testWidgets (
175+ 'SideTitleWidget bottom with FitInsideEnabled on Left Side' ,
176+ (WidgetTester tester) async {
177+ const widgetKey = Key ('SideTitleWidget' );
178+ const sideTitleWidget = SideTitleWidget (
179+ key: widgetKey,
180+ axisSide: AxisSide .bottom,
181+ fitInside: SideTitleFitInsideData (
182+ enabled: true ,
183+ axisPosition: 0 ,
184+ parentAxisSize: 100 ,
185+ distanceFromEdge: 0 ,
186+ ),
187+ child: Text ('A Long Text' ),
188+ );
189+
190+ await tester.pumpWidget (
191+ const MaterialApp (
192+ home: Scaffold (
193+ body: sideTitleWidget,
194+ ),
195+ ),
196+ );
197+
198+ final element =
199+ tester.element (find.byKey (widgetKey)) as StatefulElement ;
200+ final state = element.state as State <SideTitleWidget >;
201+ expect (state.widget, equals (sideTitleWidget));
202+ expect (element.renderObject! .attached, isTrue);
203+
204+ expect (find.byType (Transform ), findsAtLeastNWidgets (2 ));
205+ expect (find.byType (Container ), findsOneWidget);
206+ expect (find.text ('A Long Text' ), findsOneWidget);
207+ },
208+ );
209+
210+ testWidgets (
211+ 'SideTitleWidget bottom with FitInsideEnabled on Right Side' ,
212+ (WidgetTester tester) async {
213+ const widgetKey = Key ('SideTitleWidget' );
214+ const sideTitleWidget = SideTitleWidget (
215+ key: widgetKey,
216+ axisSide: AxisSide .bottom,
217+ fitInside: SideTitleFitInsideData (
218+ enabled: true ,
219+ axisPosition: 100 ,
220+ parentAxisSize: 100 ,
221+ distanceFromEdge: 0 ,
222+ ),
223+ child: Text ('A Long Text' ),
224+ );
225+
226+ await tester.pumpWidget (
227+ const MaterialApp (
228+ home: Scaffold (
229+ body: sideTitleWidget,
230+ ),
231+ ),
232+ );
233+
234+ final element =
235+ tester.element (find.byKey (widgetKey)) as StatefulElement ;
236+ final state = element.state as State <SideTitleWidget >;
237+ expect (state.widget, equals (sideTitleWidget));
238+ expect (element.renderObject! .attached, isTrue);
239+
240+ expect (find.byType (Transform ), findsAtLeastNWidgets (2 ));
241+ expect (find.byType (Container ), findsOneWidget);
242+ expect (find.text ('A Long Text' ), findsOneWidget);
243+ },
72244 );
73- expect (find.byType (Container ), findsOneWidget);
74- expect (find.text ('1s' ), findsOneWidget);
75245 },
76246 );
77247}
0 commit comments