Skip to content

Commit 45803f0

Browse files
committed
Responsive Wrapper Test Creation #4
*Test initialization sequence.
1 parent a2d91c2 commit 45803f0

File tree

2 files changed

+36
-46
lines changed

2 files changed

+36
-46
lines changed

lib/responsive_wrapper.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ class _ResponsiveWrapperState extends State<ResponsiveWrapper>
189189
/// follow [widget.defaultScale] behavior to resize.
190190
/// 3. There are no breakpoints set. Resize using
191191
/// [widget.defaultScale] behavior and [widget.minWidth].
192-
double scaledWidth = 1;
192+
double scaledWidth = 0;
193193
double getScaledWidth() {
194194
// No breakpoint is set. Return default calculated width.
195195
if (activeBreakpoint.breakpoint == null) {
@@ -227,7 +227,7 @@ class _ResponsiveWrapperState extends State<ResponsiveWrapper>
227227
/// is resize, nothing more needs to be done.
228228
/// 4. Return calculated proportional height with
229229
/// [widget.minWidth].
230-
double scaledHeight = 1;
230+
double scaledHeight = 0;
231231
double getScaledHeight() {
232232
if (activeBreakpoint.breakpoint == null) {
233233
// If widget should resize, use default screenHeight.

test/responsive_wrapper_test.dart

Lines changed: 34 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -9,51 +9,8 @@ import 'package:responsive_framework/responsive_framework.dart';
99
import 'test_utils.dart';
1010

1111
void main() {
12-
group('Builder', () {
13-
testWidgets('Empty', (WidgetTester tester) async {
14-
setScreenSize(tester, Size(450, 1200));
15-
Widget widget = MaterialApp(
16-
builder: (context, widget) => ResponsiveWrapper.builder(widget),
17-
home: Container(),
18-
);
19-
await tester.pumpWidget(widget);
20-
await tester.pump();
21-
Container container = tester.widget(find.byType(Container).first);
22-
});
23-
24-
testWidgets('Responsive Widget', (WidgetTester tester) async {
25-
setScreenSize(tester, Size(450, 1200));
26-
Widget widget = MaterialApp(
27-
builder: (context, widget) => ResponsiveWrapper.builder(
28-
BouncingScrollWrapper.builder(context, widget),
29-
maxWidth: 1200,
30-
minWidth: 450,
31-
defaultScale: true,
32-
breakpoints: [
33-
ResponsiveBreakpoint(breakpoint: 450, name: MOBILE),
34-
ResponsiveBreakpoint(breakpoint: 800, name: DESKTOP),
35-
],
36-
),
37-
home: Container(),
38-
);
39-
await tester.pumpWidget(widget);
40-
await tester.pump();
41-
InheritedResponsiveWrapper inheritedResponsiveWrapper =
42-
tester.widget(find.byType(InheritedResponsiveWrapper));
43-
expect(inheritedResponsiveWrapper.data.activeBreakpoint.name, MOBILE);
44-
45-
addTearDown(tester.binding.window.clearPhysicalSizeTestValue);
46-
setScreenSize(tester, Size(800, 1200));
47-
await tester.pumpWidget(widget);
48-
await tester.pump();
49-
inheritedResponsiveWrapper =
50-
tester.widget(find.byType(InheritedResponsiveWrapper));
51-
expect(inheritedResponsiveWrapper.data.activeBreakpoint.name, DESKTOP);
52-
});
53-
});
54-
5512
group('ResponsiveWrapper', () {
56-
/// Verify empty widget does nothing.
13+
// Verify empty widget does nothing.
5714
testWidgets('Empty', (WidgetTester tester) async {
5815
setScreenSize(tester, Size(450, 1200));
5916
Key key = UniqueKey();
@@ -81,6 +38,39 @@ void main() {
8138
expect(mediaQueryData.data.size, Size(450, 1200));
8239
});
8340

41+
// Verify initialization returns [SizedBox.shrink].
42+
testWidgets('Initialization', (WidgetTester tester) async {
43+
setScreenSize(tester, Size(450, 1200));
44+
// No breakpoints.
45+
Key key = UniqueKey();
46+
String defaultName = 'defaultName';
47+
Widget widget = MaterialApp(
48+
home: ResponsiveWrapper(
49+
key: key,
50+
breakpoints: [
51+
ResponsiveBreakpoint(
52+
breakpoint: 450, name: MOBILE, autoScale: true),
53+
],
54+
child: Container(color: Colors.white),
55+
),
56+
);
57+
await tester.pumpWidget(widget);
58+
// Initialization is empty and returns SizedBox widget.
59+
expect(
60+
find.descendant(of: find.byKey(key), matching: find.byType(SizedBox)),
61+
findsOneWidget);
62+
expect(
63+
find.descendant(
64+
of: find.byKey(key), matching: find.byType(Container)),
65+
findsNothing);
66+
await tester.pump();
67+
// Container is created on first frame.
68+
expect(
69+
find.descendant(
70+
of: find.byKey(key), matching: find.byType(Container).first),
71+
findsOneWidget);
72+
});
73+
8474
// Verify default name settings.
8575
testWidgets('Default Name', (WidgetTester tester) async {
8676
setScreenSize(tester, Size(450, 1200));

0 commit comments

Comments
 (0)