Skip to content

Commit c1871e5

Browse files
Merge pull request #3 from sipra-acharya/widget_testing
gfborder test cases
2 parents 3369378 + cf091d9 commit c1871e5

File tree

1 file changed

+225
-0
lines changed

1 file changed

+225
-0
lines changed

test/border_test.dart

Lines changed: 225 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
import 'package:flutter/material.dart';
2+
import 'package:flutter_test/flutter_test.dart';
3+
import 'package:getwidget/getwidget.dart';
4+
import 'package:flutter/cupertino.dart';
5+
6+
void main() {
7+
final childWidget = Container(
8+
width: 222,
9+
height: 333,
10+
);
11+
final color = Colors.teal;
12+
const padding = EdgeInsets.all(5);
13+
const type = GFBorderType.rect;
14+
const text = Text('Hello');
15+
16+
testWidgets('GF Border can be created around diffrent components.',
17+
(tester) async {
18+
final GFBorder border = GFBorder(
19+
color: color,
20+
padding: padding,
21+
type: type,
22+
// ignore: prefer_const_literals_to_create_immutables
23+
dashedLine: [2, 0],
24+
child: childWidget);
25+
26+
final TestApp app = TestApp(border);
27+
28+
await tester.pumpWidget(Container(child: childWidget));
29+
expect(find.byWidget(childWidget), findsOneWidget);
30+
expect(app.border.color, color);
31+
expect(app.border.padding, padding);
32+
expect(app.border.type, type);
33+
expect(app.border.dashedLine, [2, 0]);
34+
expect(app.border.child, childWidget);
35+
});
36+
37+
testWidgets('Solid GF Border around image.', (tester) async {
38+
final bgImage = Image.network(
39+
'https://images.unsplash.com/photo-1547721064-da6cfb341d50',
40+
);
41+
final GFBorder border = GFBorder(
42+
color: color,
43+
type: type,
44+
// ignore: prefer_const_literals_to_create_immutables
45+
dashedLine: [2, 0],
46+
child: bgImage);
47+
48+
final TestApp app = TestApp(border);
49+
50+
await tester.pumpWidget(Container(child: childWidget));
51+
expect(find.byWidget(childWidget), findsOneWidget);
52+
expect(app.border.color, color);
53+
expect(app.border.type, type);
54+
expect(app.border.dashedLine, [2, 0]);
55+
expect(app.border.child, bgImage);
56+
});
57+
58+
testWidgets('Solid GF Border with radius.', (tester) async {
59+
const radius = Radius.circular(20);
60+
const typerRect = GFBorderType.rRect;
61+
62+
final GFBorder border = GFBorder(
63+
color: color,
64+
type: typerRect,
65+
// ignore: prefer_const_literals_to_create_immutables
66+
dashedLine: [2, 0],
67+
radius: radius,
68+
child: text);
69+
70+
final TestApp app = TestApp(border);
71+
72+
await tester.pumpWidget(Container(child: childWidget));
73+
expect(find.byWidget(childWidget), findsOneWidget);
74+
expect(app.border.color, color);
75+
expect(app.border.type, typerRect);
76+
expect(app.border.dashedLine, [2, 0]);
77+
expect(app.border.child, text);
78+
});
79+
80+
testWidgets('Oval GF Border.', (tester) async {
81+
const typeoval = GFBorderType.oval;
82+
const stroke = 2.0;
83+
84+
final GFBorder border = GFBorder(
85+
color: color,
86+
type: typeoval,
87+
// ignore: prefer_const_literals_to_create_immutables
88+
dashedLine: [6, 0],
89+
strokeWidth: stroke,
90+
child: text);
91+
92+
final TestApp app = TestApp(border);
93+
94+
await tester.pumpWidget(Container(child: childWidget));
95+
expect(find.byWidget(childWidget), findsOneWidget);
96+
expect(app.border.color, color);
97+
expect(app.border.type, typeoval);
98+
expect(app.border.dashedLine, [6, 0]);
99+
expect(app.border.strokeWidth, stroke);
100+
expect(app.border.child, text);
101+
});
102+
103+
testWidgets('Circular GF Border.', (tester) async {
104+
const typeCircle = GFBorderType.circle;
105+
const stroke = 2.0;
106+
final GFBorder border = GFBorder(
107+
color: color,
108+
type: typeCircle,
109+
// ignore: prefer_const_literals_to_create_immutables
110+
dashedLine: [2, 0],
111+
strokeWidth: stroke,
112+
child: text);
113+
114+
final TestApp app = TestApp(border);
115+
116+
await tester.pumpWidget(Container(child: childWidget));
117+
expect(find.byWidget(childWidget), findsOneWidget);
118+
expect(app.border.color, color);
119+
expect(app.border.type, typeCircle);
120+
expect(app.border.dashedLine, [2, 0]);
121+
expect(app.border.strokeWidth, stroke);
122+
expect(app.border.child, text);
123+
});
124+
125+
testWidgets('Dashed GF Border.', (tester) async {
126+
const typerRect = GFBorderType.rRect;
127+
128+
final GFBorder border = GFBorder(
129+
color: color,
130+
type: typerRect,
131+
// ignore: prefer_const_literals_to_create_immutables
132+
child: text);
133+
134+
final TestApp app = TestApp(border);
135+
136+
await tester.pumpWidget(Container(child: childWidget));
137+
expect(find.byWidget(childWidget), findsOneWidget);
138+
expect(app.border.color, color);
139+
expect(app.border.type, typerRect);
140+
expect(app.border.child, text);
141+
});
142+
143+
testWidgets('Dashed GF Border with radius.', (tester) async {
144+
const typerRect = GFBorderType.rRect;
145+
const radius = Radius.circular(20);
146+
147+
final GFBorder border = GFBorder(
148+
color: color,
149+
type: typerRect,
150+
radius: radius,
151+
// ignore: prefer_const_literals_to_create_immutables
152+
child: text);
153+
154+
final TestApp app = TestApp(border);
155+
156+
await tester.pumpWidget(Container(child: childWidget));
157+
expect(find.byWidget(childWidget), findsOneWidget);
158+
expect(app.border.color, color);
159+
expect(app.border.type, typerRect);
160+
expect(app.border.radius, radius);
161+
expect(app.border.child, text);
162+
});
163+
164+
testWidgets('Oval dashed GF Border.', (tester) async {
165+
const typeoval = GFBorderType.oval;
166+
const stroke = 2.0;
167+
168+
final GFBorder border = GFBorder(
169+
color: color,
170+
type: typeoval,
171+
strokeWidth: stroke,
172+
// ignore: prefer_const_literals_to_create_immutables
173+
dashedLine: [3, 1],
174+
child: text);
175+
176+
final TestApp app = TestApp(border);
177+
178+
await tester.pumpWidget(Container(child: childWidget));
179+
expect(find.byWidget(childWidget), findsOneWidget);
180+
expect(app.border.color, color);
181+
expect(app.border.type, typeoval);
182+
expect(app.border.child, text);
183+
});
184+
185+
testWidgets('Circular dashed GF Border.', (tester) async {
186+
const typecircular = GFBorderType.circle;
187+
const stroke = 2.0;
188+
189+
final GFBorder border = GFBorder(
190+
color: color,
191+
type: typecircular,
192+
// ignore: prefer_const_literals_to_create_immutables
193+
dashedLine: [3, 1],
194+
strokeWidth: stroke,
195+
child: text);
196+
197+
final TestApp app = TestApp(border);
198+
199+
await tester.pumpWidget(Container(child: childWidget));
200+
expect(find.byWidget(childWidget), findsOneWidget);
201+
expect(app.border.color, color);
202+
expect(app.border.type, typecircular);
203+
expect(app.border.child, text);
204+
});
205+
}
206+
207+
class TestApp extends StatefulWidget {
208+
const TestApp(this.border);
209+
final GFBorder border;
210+
@override
211+
_TestAppState createState() => _TestAppState();
212+
}
213+
214+
class _TestAppState extends State<TestApp> {
215+
@override
216+
Widget build(BuildContext context) => MaterialApp(
217+
home: Scaffold(
218+
body: Column(
219+
children: [
220+
widget.border,
221+
],
222+
),
223+
),
224+
);
225+
}

0 commit comments

Comments
 (0)