Toggle navigation
Toggle navigation
This project
Loading...
Sign in
flutter_package
/
flutter_screenutil
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
Mounir-Bouaiche
2022-05-17 16:03:13 +0100
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
812eb48476c6166fad68e4d80fd99ad2d311fab6
812eb484
1 parent
e849f6a5
Example test widget
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
68 additions
and
14 deletions
example/test/widget_test.dart
example/test/widget_test.dart
View file @
812eb48
...
...
@@ -6,25 +6,79 @@
// tree, read text, and verify that the values of widget properties are correct.
import
'package:flutter/material.dart'
;
import
'package:flutter_screenutil/flutter_screenutil.dart'
;
import
'package:flutter_test/flutter_test.dart'
;
import
'package:example/src/first_method.dart'
;
void
main
(
)
{
testWidgets
(
'Counter increments smoke test'
,
(
WidgetTester
tester
)
async
{
// Build our app and trigger a frame.
await
tester
.
pumpWidget
(
MyApp
());
testWidgets
(
'Test Responsiveness'
,
(
WidgetTester
tester
)
async
{
// Declare Sizes
const
Size
designSize
=
Size
(
360
,
640
);
const
Size
initialSize
=
designSize
;
const
Size
biggerSize
=
Size
(
480
,
920
);
const
Size
smallerSize
=
Size
(
300
,
560
);
// We'll use MediaQuery to simulate diffrent screen sizes
MediaQueryData
currentData
=
MediaQueryData
(
size:
initialSize
);
const
MediaQueryData
biggerData
=
MediaQueryData
(
size:
biggerSize
);
const
MediaQueryData
smallerData
=
MediaQueryData
(
size:
smallerSize
);
// Used to find a widget. See [CommonFinders.byKey].
final
_key
=
UniqueKey
();
// Click on button. See code bellow.
Future
<
int
>
tap
()
async
{
await
tester
.
tap
(
find
.
byKey
(
_key
));
return
tester
.
pumpAndSettle
();
}
void
testSize
(
Size
size
)
{
expect
(
1
.
w
,
equals
(
size
.
width
/
designSize
.
width
));
expect
(
1
.
h
,
equals
(
size
.
height
/
designSize
.
height
));
print
(
'[OK] Size:
$size
, width:
${1.w}
, height:
${1.h}
'
);
}
await
tester
.
pumpWidget
(
StatefulBuilder
(
builder:
(
BuildContext
context
,
StateSetter
setState
)
{
return
MediaQuery
(
data:
currentData
,
child:
ScreenUtilInit
(
useInheritedMediaQuery:
true
,
designSize:
designSize
,
builder:
(
context
,
child
)
=>
MaterialApp
(
home:
Material
(
child:
TextButton
(
key:
_key
,
child:
Text
(
'Change data'
),
onPressed:
()
{
setState
(()
{
currentData
=
currentData
.
size
==
initialSize
// First test with bigger screen
?
biggerData
// Test with smaller screen
:
smallerData
;
});
},
),
),
),
),
);
},
));
// Tests with initial screen size
testSize
(
initialSize
);
// Verify that our counter starts at 0.
expect
(
find
.
text
(
'0'
),
findsOneWidget
);
expect
(
find
.
text
(
'1'
),
findsNothing
);
// Click On button to simulate changing screen size
await
tap
();
// Tests with bigger screen size
testSize
(
biggerSize
);
// Tap the '+' icon and trigger a frame.
await
tester
.
tap
(
find
.
byIcon
(
Icons
.
add
));
await
tester
.
pump
();
// Click On button to simulate changing screen size
await
tap
();
// Tests with bigger screen size
testSize
(
smallerSize
);
// Verify that our counter has incremented.
expect
(
find
.
text
(
'0'
),
findsNothing
);
expect
(
find
.
text
(
'1'
),
findsOneWidget
);
await
tester
.
pumpAndSettle
();
});
}
...
...
Please
register
or
login
to post a comment