Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
f013b25b
Unverified
Commit
f013b25b
authored
Jan 17, 2020
by
Greg Spencer
Committed by
GitHub
Jan 17, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add TargetPlatform.macOS tests to the widgets library. (#48997)
parent
3dbe90e1
Changes
16
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
178 additions
and
259 deletions
+178
-259
draggable_scrollable_sheet_test.dart
...flutter/test/widgets/draggable_scrollable_sheet_test.dart
+8
-8
drawer_test.dart
packages/flutter/test/widgets/drawer_test.dart
+3
-7
editable_text_cursor_test.dart
packages/flutter/test/widgets/editable_text_cursor_test.dart
+17
-27
editable_text_test.dart
packages/flutter/test/widgets/editable_text_test.dart
+3
-7
heroes_test.dart
packages/flutter/test/widgets/heroes_test.dart
+5
-17
list_wheel_scroll_view_test.dart
...ges/flutter/test/widgets/list_wheel_scroll_view_test.dart
+1
-5
modal_barrier_test.dart
packages/flutter/test/widgets/modal_barrier_test.dart
+1
-4
nested_scroll_view_test.dart
packages/flutter/test/widgets/nested_scroll_view_test.dart
+8
-13
page_transitions_test.dart
packages/flutter/test/widgets/page_transitions_test.dart
+6
-15
page_view_test.dart
packages/flutter/test/widgets/page_view_test.dart
+1
-2
scrollable_dispose_test.dart
packages/flutter/test/widgets/scrollable_dispose_test.dart
+2
-5
scrollable_fling_test.dart
packages/flutter/test/widgets/scrollable_fling_test.dart
+13
-3
scrollable_test.dart
packages/flutter/test/widgets/scrollable_test.dart
+43
-31
selectable_text_test.dart
packages/flutter/test/widgets/selectable_text_test.dart
+60
-84
sliver_fill_remaining_test.dart
...ages/flutter/test/widgets/sliver_fill_remaining_test.dart
+6
-26
text_selection_test.dart
packages/flutter/test/widgets/text_selection_test.dart
+1
-5
No files found.
packages/flutter/test/widgets/draggable_scrollable_sheet_test.dart
View file @
f013b25b
...
@@ -105,7 +105,7 @@ void main() {
...
@@ -105,7 +105,7 @@ void main() {
expect
(
find
.
text
(
'Item 1'
),
findsOneWidget
);
expect
(
find
.
text
(
'Item 1'
),
findsOneWidget
);
expect
(
find
.
text
(
'Item 21'
),
findsOneWidget
);
expect
(
find
.
text
(
'Item 21'
),
findsOneWidget
);
expect
(
find
.
text
(
'Item 31'
),
findsOneWidget
);
expect
(
find
.
text
(
'Item 31'
),
findsOneWidget
);
},
skip:
isBrowser
);
},
skip:
isBrowser
,
variant:
TargetPlatformVariant
.
all
()
);
testWidgets
(
'Can be dragged down when not full height'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Can be dragged down when not full height'
,
(
WidgetTester
tester
)
async
{
await
tester
.
pumpWidget
(
_boilerplate
(
null
));
await
tester
.
pumpWidget
(
_boilerplate
(
null
));
...
@@ -118,7 +118,7 @@ void main() {
...
@@ -118,7 +118,7 @@ void main() {
expect
(
find
.
text
(
'Item 1'
),
findsOneWidget
);
expect
(
find
.
text
(
'Item 1'
),
findsOneWidget
);
expect
(
find
.
text
(
'Item 21'
),
findsNothing
);
expect
(
find
.
text
(
'Item 21'
),
findsNothing
);
expect
(
find
.
text
(
'Item 36'
),
findsNothing
);
expect
(
find
.
text
(
'Item 36'
),
findsNothing
);
},
skip:
isBrowser
);
},
skip:
isBrowser
,
variant:
TargetPlatformVariant
.
all
()
);
testWidgets
(
'Can be dragged down when list is shorter than full height'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Can be dragged down when list is shorter than full height'
,
(
WidgetTester
tester
)
async
{
await
tester
.
pumpWidget
(
_boilerplate
(
null
,
itemCount:
30
,
initialChildSize:
.
25
));
await
tester
.
pumpWidget
(
_boilerplate
(
null
,
itemCount:
30
,
initialChildSize:
.
25
));
...
@@ -135,7 +135,7 @@ void main() {
...
@@ -135,7 +135,7 @@ void main() {
await
tester
.
pumpAndSettle
();
await
tester
.
pumpAndSettle
();
expect
(
find
.
text
(
'Item 1'
).
hitTestable
(),
findsOneWidget
);
expect
(
find
.
text
(
'Item 1'
).
hitTestable
(),
findsOneWidget
);
expect
(
find
.
text
(
'Item 29'
).
hitTestable
(),
findsNothing
);
expect
(
find
.
text
(
'Item 29'
).
hitTestable
(),
findsNothing
);
},
skip:
isBrowser
);
},
skip:
isBrowser
,
variant:
TargetPlatformVariant
.
all
()
);
testWidgets
(
'Can be dragged up and cover its container and scroll in single motion, and then dragged back down'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Can be dragged up and cover its container and scroll in single motion, and then dragged back down'
,
(
WidgetTester
tester
)
async
{
int
taps
=
0
;
int
taps
=
0
;
...
@@ -164,7 +164,7 @@ void main() {
...
@@ -164,7 +164,7 @@ void main() {
expect
(
find
.
text
(
'Item 1'
),
findsOneWidget
);
expect
(
find
.
text
(
'Item 1'
),
findsOneWidget
);
expect
(
find
.
text
(
'Item 18'
),
findsOneWidget
);
expect
(
find
.
text
(
'Item 18'
),
findsOneWidget
);
expect
(
find
.
text
(
'Item 36'
),
findsNothing
);
expect
(
find
.
text
(
'Item 36'
),
findsNothing
);
},
skip:
isBrowser
);
},
skip:
isBrowser
,
variant:
TargetPlatformVariant
.
all
()
);
testWidgets
(
'Can be flung up gently'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Can be flung up gently'
,
(
WidgetTester
tester
)
async
{
int
taps
=
0
;
int
taps
=
0
;
...
@@ -187,7 +187,7 @@ void main() {
...
@@ -187,7 +187,7 @@ void main() {
expect
(
find
.
text
(
'Item 21'
),
findsOneWidget
);
expect
(
find
.
text
(
'Item 21'
),
findsOneWidget
);
expect
(
find
.
text
(
'Item 36'
),
findsOneWidget
);
expect
(
find
.
text
(
'Item 36'
),
findsOneWidget
);
expect
(
find
.
text
(
'Item 70'
),
findsNothing
);
expect
(
find
.
text
(
'Item 70'
),
findsNothing
);
},
skip:
isBrowser
);
},
skip:
isBrowser
,
variant:
TargetPlatformVariant
.
all
()
);
testWidgets
(
'Can be flung up'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Can be flung up'
,
(
WidgetTester
tester
)
async
{
int
taps
=
0
;
int
taps
=
0
;
...
@@ -208,7 +208,7 @@ void main() {
...
@@ -208,7 +208,7 @@ void main() {
expect
(
find
.
text
(
'Item 1'
),
findsNothing
);
expect
(
find
.
text
(
'Item 1'
),
findsNothing
);
expect
(
find
.
text
(
'Item 21'
),
findsNothing
);
expect
(
find
.
text
(
'Item 21'
),
findsNothing
);
expect
(
find
.
text
(
'Item 70'
),
findsOneWidget
);
expect
(
find
.
text
(
'Item 70'
),
findsOneWidget
);
},
skip:
isBrowser
);
},
skip:
isBrowser
,
variant:
TargetPlatformVariant
.
all
()
);
testWidgets
(
'Can be flung down when not full height'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Can be flung down when not full height'
,
(
WidgetTester
tester
)
async
{
await
tester
.
pumpWidget
(
_boilerplate
(
null
));
await
tester
.
pumpWidget
(
_boilerplate
(
null
));
...
@@ -221,7 +221,7 @@ void main() {
...
@@ -221,7 +221,7 @@ void main() {
expect
(
find
.
text
(
'Item 1'
),
findsOneWidget
);
expect
(
find
.
text
(
'Item 1'
),
findsOneWidget
);
expect
(
find
.
text
(
'Item 21'
),
findsNothing
);
expect
(
find
.
text
(
'Item 21'
),
findsNothing
);
expect
(
find
.
text
(
'Item 36'
),
findsNothing
);
expect
(
find
.
text
(
'Item 36'
),
findsNothing
);
},
skip:
isBrowser
);
},
skip:
isBrowser
,
variant:
TargetPlatformVariant
.
all
()
);
testWidgets
(
'Can be flung up and then back down'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Can be flung up and then back down'
,
(
WidgetTester
tester
)
async
{
int
taps
=
0
;
int
taps
=
0
;
...
@@ -260,7 +260,7 @@ void main() {
...
@@ -260,7 +260,7 @@ void main() {
expect
(
find
.
text
(
'Item 1'
),
findsOneWidget
);
expect
(
find
.
text
(
'Item 1'
),
findsOneWidget
);
expect
(
find
.
text
(
'Item 21'
),
findsNothing
);
expect
(
find
.
text
(
'Item 21'
),
findsNothing
);
expect
(
find
.
text
(
'Item 70'
),
findsNothing
);
expect
(
find
.
text
(
'Item 70'
),
findsNothing
);
},
skip:
isBrowser
);
},
skip:
isBrowser
,
variant:
TargetPlatformVariant
.
all
()
);
debugDefaultTargetPlatformOverride
=
null
;
debugDefaultTargetPlatformOverride
=
null
;
});
});
...
...
packages/flutter/test/widgets/drawer_test.dart
View file @
f013b25b
...
@@ -304,9 +304,7 @@ void main() {
...
@@ -304,9 +304,7 @@ void main() {
expect
(
buttonPressed
,
equals
(
true
));
expect
(
buttonPressed
,
equals
(
true
));
});
});
testWidgets
(
'Dismissible ModalBarrier includes button in semantic tree on iOS'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Dismissible ModalBarrier includes button in semantic tree'
,
(
WidgetTester
tester
)
async
{
debugDefaultTargetPlatformOverride
=
TargetPlatform
.
iOS
;
final
SemanticsTester
semantics
=
SemanticsTester
(
tester
);
final
SemanticsTester
semantics
=
SemanticsTester
(
tester
);
final
GlobalKey
<
ScaffoldState
>
scaffoldKey
=
GlobalKey
<
ScaffoldState
>();
final
GlobalKey
<
ScaffoldState
>
scaffoldKey
=
GlobalKey
<
ScaffoldState
>();
...
@@ -331,9 +329,7 @@ void main() {
...
@@ -331,9 +329,7 @@ void main() {
expect
(
semantics
,
includesNodeWith
(
label:
'Dismiss'
));
expect
(
semantics
,
includesNodeWith
(
label:
'Dismiss'
));
semantics
.
dispose
();
semantics
.
dispose
();
},
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
}));
debugDefaultTargetPlatformOverride
=
null
;
});
testWidgets
(
'Dismissible ModalBarrier is hidden on Android (back button is used to dismiss)'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Dismissible ModalBarrier is hidden on Android (back button is used to dismiss)'
,
(
WidgetTester
tester
)
async
{
final
SemanticsTester
semantics
=
SemanticsTester
(
tester
);
final
SemanticsTester
semantics
=
SemanticsTester
(
tester
);
...
@@ -361,7 +357,7 @@ void main() {
...
@@ -361,7 +357,7 @@ void main() {
expect
(
semantics
,
isNot
(
includesNodeWith
(
label:
'Dismiss'
)));
expect
(
semantics
,
isNot
(
includesNodeWith
(
label:
'Dismiss'
)));
semantics
.
dispose
();
semantics
.
dispose
();
});
}
,
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
android
})
);
testWidgets
(
'Drawer contains route semantics flags'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Drawer contains route semantics flags'
,
(
WidgetTester
tester
)
async
{
final
SemanticsTester
semantics
=
SemanticsTester
(
tester
);
final
SemanticsTester
semantics
=
SemanticsTester
(
tester
);
...
...
packages/flutter/test/widgets/editable_text_cursor_test.dart
View file @
f013b25b
...
@@ -145,10 +145,9 @@ void main() {
...
@@ -145,10 +145,9 @@ void main() {
);
);
});
});
testWidgets
(
'Cursor animates on iOS'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Cursor animates'
,
(
WidgetTester
tester
)
async
{
final
Widget
widget
=
MaterialApp
(
const
Widget
widget
=
MaterialApp
(
theme:
ThemeData
(
platform:
TargetPlatform
.
iOS
),
home:
Material
(
home:
const
Material
(
child:
TextField
(
child:
TextField
(
maxLines:
3
,
maxLines:
3
,
),
),
...
@@ -200,7 +199,7 @@ void main() {
...
@@ -200,7 +199,7 @@ void main() {
// Cursor starts coming back.
// Cursor starts coming back.
expect
(
renderEditable
.
cursorColor
.
alpha
,
79
);
expect
(
renderEditable
.
cursorColor
.
alpha
,
79
);
expect
(
renderEditable
,
paints
..
rrect
(
color:
const
Color
(
0x4f2196f3
)));
expect
(
renderEditable
,
paints
..
rrect
(
color:
const
Color
(
0x4f2196f3
)));
});
}
,
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
})
);
testWidgets
(
'Cursor does not animate on Android'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Cursor does not animate on Android'
,
(
WidgetTester
tester
)
async
{
const
Widget
widget
=
MaterialApp
(
const
Widget
widget
=
MaterialApp
(
...
@@ -241,11 +240,10 @@ void main() {
...
@@ -241,11 +240,10 @@ void main() {
expect
(
renderEditable
,
paintsExactlyCountTimes
(
#drawRect
,
0
));
expect
(
renderEditable
,
paintsExactlyCountTimes
(
#drawRect
,
0
));
});
});
testWidgets
(
'Cursor does not animates
on iOS
when debugDeterministicCursor is set'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Cursor does not animates when debugDeterministicCursor is set'
,
(
WidgetTester
tester
)
async
{
EditableText
.
debugDeterministicCursor
=
true
;
EditableText
.
debugDeterministicCursor
=
true
;
final
Widget
widget
=
MaterialApp
(
const
Widget
widget
=
MaterialApp
(
theme:
ThemeData
(
platform:
TargetPlatform
.
iOS
),
home:
Material
(
home:
const
Material
(
child:
TextField
(
child:
TextField
(
maxLines:
3
,
maxLines:
3
,
),
),
...
@@ -277,7 +275,7 @@ void main() {
...
@@ -277,7 +275,7 @@ void main() {
expect
(
renderEditable
,
paints
..
rrect
(
color:
const
Color
(
0xff2196f3
)));
expect
(
renderEditable
,
paints
..
rrect
(
color:
const
Color
(
0xff2196f3
)));
EditableText
.
debugDeterministicCursor
=
false
;
EditableText
.
debugDeterministicCursor
=
false
;
});
}
,
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
})
);
testWidgets
(
'Cursor does not animate on Android when debugDeterministicCursor is set'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Cursor does not animate on Android when debugDeterministicCursor is set'
,
(
WidgetTester
tester
)
async
{
EditableText
.
debugDeterministicCursor
=
true
;
EditableText
.
debugDeterministicCursor
=
true
;
...
@@ -346,10 +344,9 @@ void main() {
...
@@ -346,10 +344,9 @@ void main() {
expect
(
renderEditable
,
paintsExactlyCountTimes
(
#drawRect
,
0
));
expect
(
renderEditable
,
paintsExactlyCountTimes
(
#drawRect
,
0
));
});
});
testWidgets
(
'Cursor radius is 2.0 on iOS'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Cursor radius is 2.0'
,
(
WidgetTester
tester
)
async
{
final
Widget
widget
=
MaterialApp
(
const
Widget
widget
=
MaterialApp
(
theme:
ThemeData
(
platform:
TargetPlatform
.
iOS
),
home:
Material
(
home:
const
Material
(
child:
TextField
(
child:
TextField
(
maxLines:
3
,
maxLines:
3
,
),
),
...
@@ -361,7 +358,7 @@ void main() {
...
@@ -361,7 +358,7 @@ void main() {
final
RenderEditable
renderEditable
=
editableTextState
.
renderEditable
;
final
RenderEditable
renderEditable
=
editableTextState
.
renderEditable
;
expect
(
renderEditable
.
cursorRadius
,
const
Radius
.
circular
(
2.0
));
expect
(
renderEditable
.
cursorRadius
,
const
Radius
.
circular
(
2.0
));
});
}
,
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
})
);
testWidgets
(
'Cursor gets placed correctly after going out of bounds'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Cursor gets placed correctly after going out of bounds'
,
(
WidgetTester
tester
)
async
{
const
String
text
=
'hello world this is fun and cool and awesome!'
;
const
String
text
=
'hello world this is fun and cool and awesome!'
;
...
@@ -645,9 +642,7 @@ void main() {
...
@@ -645,9 +642,7 @@ void main() {
expect
(
controller
.
selection
.
baseOffset
,
text
.
length
);
expect
(
controller
.
selection
.
baseOffset
,
text
.
length
);
},
skip:
isBrowser
);
},
skip:
isBrowser
);
testWidgets
(
'Floating cursor is painted on iOS'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Floating cursor is painted'
,
(
WidgetTester
tester
)
async
{
debugDefaultTargetPlatformOverride
=
TargetPlatform
.
iOS
;
final
TextEditingController
controller
=
TextEditingController
();
final
TextEditingController
controller
=
TextEditingController
();
const
TextStyle
textStyle
=
TextStyle
();
const
TextStyle
textStyle
=
TextStyle
();
const
String
text
=
'hello world this is fun and cool and awesome!'
;
const
String
text
=
'hello world this is fun and cool and awesome!'
;
...
@@ -656,7 +651,6 @@ void main() {
...
@@ -656,7 +651,6 @@ void main() {
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
MaterialApp
(
MaterialApp
(
theme:
ThemeData
(
platform:
TargetPlatform
.
iOS
),
home:
Padding
(
home:
Padding
(
padding:
const
EdgeInsets
.
only
(
top:
0.25
),
padding:
const
EdgeInsets
.
only
(
top:
0.25
),
child:
Material
(
child:
Material
(
...
@@ -731,16 +725,13 @@ void main() {
...
@@ -731,16 +725,13 @@ void main() {
editableTextState
.
updateFloatingCursor
(
RawFloatingCursorPoint
(
state:
FloatingCursorDragState
.
End
));
editableTextState
.
updateFloatingCursor
(
RawFloatingCursorPoint
(
state:
FloatingCursorDragState
.
End
));
await
tester
.
pumpAndSettle
();
await
tester
.
pumpAndSettle
();
debugDefaultTargetPlatformOverride
=
null
;
debugDefaultTargetPlatformOverride
=
null
;
},
skip:
isBrowser
);
},
skip:
isBrowser
,
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
})
);
testWidgets
(
'cursor layout
iOS
'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'cursor layout'
,
(
WidgetTester
tester
)
async
{
final
GlobalKey
<
EditableTextState
>
editableTextKey
=
GlobalKey
<
EditableTextState
>();
final
GlobalKey
<
EditableTextState
>
editableTextKey
=
GlobalKey
<
EditableTextState
>();
debugDefaultTargetPlatformOverride
=
TargetPlatform
.
iOS
;
String
changedValue
;
String
changedValue
;
final
Widget
widget
=
MaterialApp
(
final
Widget
widget
=
MaterialApp
(
theme:
ThemeData
(
platform:
TargetPlatform
.
iOS
),
home:
RepaintBoundary
(
home:
RepaintBoundary
(
key:
const
ValueKey
<
int
>(
1
),
key:
const
ValueKey
<
int
>(
1
),
child:
Column
(
child:
Column
(
...
@@ -751,7 +742,7 @@ void main() {
...
@@ -751,7 +742,7 @@ void main() {
key:
editableTextKey
,
key:
editableTextKey
,
controller:
TextEditingController
(),
controller:
TextEditingController
(),
focusNode:
FocusNode
(),
focusNode:
FocusNode
(),
style:
Typography
(
platform:
TargetPlatform
.
iOS
).
black
.
subhead
,
style:
Typography
(
platform:
debugDefaultTargetPlatformOverride
).
black
.
subhead
,
cursorColor:
Colors
.
blue
,
cursorColor:
Colors
.
blue
,
selectionControls:
materialTextSelectionControls
,
selectionControls:
materialTextSelectionControls
,
keyboardType:
TextInputType
.
text
,
keyboardType:
TextInputType
.
text
,
...
@@ -793,6 +784,5 @@ void main() {
...
@@ -793,6 +784,5 @@ void main() {
find
.
byKey
(
const
ValueKey
<
int
>(
1
)),
find
.
byKey
(
const
ValueKey
<
int
>(
1
)),
matchesGoldenFile
(
'editable_text_test.2.png'
),
matchesGoldenFile
(
'editable_text_test.2.png'
),
);
);
debugDefaultTargetPlatformOverride
=
null
;
},
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
}));
});
}
}
packages/flutter/test/widgets/editable_text_test.dart
View file @
f013b25b
...
@@ -3757,9 +3757,7 @@ void main() {
...
@@ -3757,9 +3757,7 @@ void main() {
});
});
// Regression test for https://github.com/flutter/flutter/issues/31287
// Regression test for https://github.com/flutter/flutter/issues/31287
testWidgets
(
'iOS text selection handle visibility'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'text selection handle visibility'
,
(
WidgetTester
tester
)
async
{
debugDefaultTargetPlatformOverride
=
TargetPlatform
.
iOS
;
// Text with two separate words to select.
// Text with two separate words to select.
const
String
testText
=
'XXXXX XXXXX'
;
const
String
testText
=
'XXXXX XXXXX'
;
final
TextEditingController
controller
=
TextEditingController
(
text:
testText
);
final
TextEditingController
controller
=
TextEditingController
(
text:
testText
);
...
@@ -3774,7 +3772,7 @@ void main() {
...
@@ -3774,7 +3772,7 @@ void main() {
showSelectionHandles:
true
,
showSelectionHandles:
true
,
controller:
controller
,
controller:
controller
,
focusNode:
FocusNode
(),
focusNode:
FocusNode
(),
style:
Typography
(
platform:
TargetPlatform
.
iOS
).
black
.
subhead
,
style:
Typography
(
platform:
debugDefaultTargetPlatformOverride
).
black
.
subhead
,
cursorColor:
Colors
.
blue
,
cursorColor:
Colors
.
blue
,
backgroundCursorColor:
Colors
.
grey
,
backgroundCursorColor:
Colors
.
grey
,
selectionControls:
cupertinoTextSelectionControls
,
selectionControls:
cupertinoTextSelectionControls
,
...
@@ -3924,9 +3922,7 @@ void main() {
...
@@ -3924,9 +3922,7 @@ void main() {
// at all. Again, both handles should be invisible.
// at all. Again, both handles should be invisible.
scrollable
.
controller
.
jumpTo
(
0
);
scrollable
.
controller
.
jumpTo
(
0
);
await
verifyVisibility
(
HandlePositionInViewport
.
rightEdge
,
false
,
HandlePositionInViewport
.
rightEdge
,
false
);
await
verifyVisibility
(
HandlePositionInViewport
.
rightEdge
,
false
,
HandlePositionInViewport
.
rightEdge
,
false
);
},
skip:
isBrowser
,
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
}));
debugDefaultTargetPlatformOverride
=
null
;
},
skip:
isBrowser
);
testWidgets
(
'scrolling doesn
\'
t bounce'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'scrolling doesn
\'
t bounce'
,
(
WidgetTester
tester
)
async
{
// 3 lines of text, where the last line overflows and requires scrolling.
// 3 lines of text, where the last line overflows and requires scrolling.
...
...
packages/flutter/test/widgets/heroes_test.dart
View file @
f013b25b
...
@@ -1614,10 +1614,7 @@ Future<void> main() async {
...
@@ -1614,10 +1614,7 @@ Future<void> main() async {
testWidgets
(
'Heroes do not transition on back gestures by default'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Heroes do not transition on back gestures by default'
,
(
WidgetTester
tester
)
async
{
await
tester
.
pumpWidget
(
MaterialApp
(
await
tester
.
pumpWidget
(
MaterialApp
(
theme:
ThemeData
(
routes:
routes
,
platform:
TargetPlatform
.
iOS
,
),
routes:
routes
,
));
));
expect
(
find
.
byKey
(
firstKey
),
isOnstage
);
expect
(
find
.
byKey
(
firstKey
),
isOnstage
);
...
@@ -1652,14 +1649,11 @@ Future<void> main() async {
...
@@ -1652,14 +1649,11 @@ Future<void> main() async {
expect
(
find
.
byKey
(
firstKey
),
isInCard
);
expect
(
find
.
byKey
(
firstKey
),
isInCard
);
expect
(
find
.
byKey
(
secondKey
),
isOnstage
);
expect
(
find
.
byKey
(
secondKey
),
isOnstage
);
expect
(
find
.
byKey
(
secondKey
),
isInCard
);
expect
(
find
.
byKey
(
secondKey
),
isInCard
);
});
}
,
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
})
);
testWidgets
(
'Heroes can transition on gesture in one frame'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Heroes can transition on gesture in one frame'
,
(
WidgetTester
tester
)
async
{
transitionFromUserGestures
=
true
;
transitionFromUserGestures
=
true
;
await
tester
.
pumpWidget
(
MaterialApp
(
await
tester
.
pumpWidget
(
MaterialApp
(
theme:
ThemeData
(
platform:
TargetPlatform
.
iOS
,
),
routes:
routes
,
routes:
routes
,
));
));
...
@@ -1698,14 +1692,11 @@ Future<void> main() async {
...
@@ -1698,14 +1692,11 @@ Future<void> main() async {
expect
(
find
.
byKey
(
firstKey
),
isOnstage
);
expect
(
find
.
byKey
(
firstKey
),
isOnstage
);
expect
(
find
.
byKey
(
firstKey
),
isInCard
);
expect
(
find
.
byKey
(
firstKey
),
isInCard
);
expect
(
find
.
byKey
(
secondKey
),
findsNothing
);
expect
(
find
.
byKey
(
secondKey
),
findsNothing
);
});
}
,
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
})
);
testWidgets
(
'Heroes animate should hide destination hero and display original hero in case of dismissed'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Heroes animate should hide destination hero and display original hero in case of dismissed'
,
(
WidgetTester
tester
)
async
{
transitionFromUserGestures
=
true
;
transitionFromUserGestures
=
true
;
await
tester
.
pumpWidget
(
MaterialApp
(
await
tester
.
pumpWidget
(
MaterialApp
(
theme:
ThemeData
(
platform:
TargetPlatform
.
iOS
,
),
routes:
routes
,
routes:
routes
,
));
));
...
@@ -1737,7 +1728,7 @@ Future<void> main() async {
...
@@ -1737,7 +1728,7 @@ Future<void> main() async {
expect
(
find
.
byKey
(
firstKey
),
findsNothing
);
expect
(
find
.
byKey
(
firstKey
),
findsNothing
);
expect
(
find
.
byKey
(
secondKey
),
isOnstage
);
expect
(
find
.
byKey
(
secondKey
),
isOnstage
);
expect
(
find
.
byKey
(
secondKey
),
isInCard
);
expect
(
find
.
byKey
(
secondKey
),
isInCard
);
});
}
,
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
})
);
testWidgets
(
'Handles transitions when a non-default initial route is set'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Handles transitions when a non-default initial route is set'
,
(
WidgetTester
tester
)
async
{
await
tester
.
pumpWidget
(
MaterialApp
(
await
tester
.
pumpWidget
(
MaterialApp
(
...
@@ -2298,9 +2289,6 @@ Future<void> main() async {
...
@@ -2298,9 +2289,6 @@ Future<void> main() async {
testWidgets
(
'Remove user gesture driven flights when the gesture is invalid'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Remove user gesture driven flights when the gesture is invalid'
,
(
WidgetTester
tester
)
async
{
transitionFromUserGestures
=
true
;
transitionFromUserGestures
=
true
;
await
tester
.
pumpWidget
(
MaterialApp
(
await
tester
.
pumpWidget
(
MaterialApp
(
theme:
ThemeData
(
platform:
TargetPlatform
.
iOS
,
),
routes:
routes
,
routes:
routes
,
));
));
...
@@ -2324,7 +2312,7 @@ Future<void> main() async {
...
@@ -2324,7 +2312,7 @@ Future<void> main() async {
// The simple route should still be on top.
// The simple route should still be on top.
expect
(
find
.
byKey
(
simpleKey
),
findsOneWidget
);
expect
(
find
.
byKey
(
simpleKey
),
findsOneWidget
);
expect
(
tester
.
takeException
(),
isNull
);
expect
(
tester
.
takeException
(),
isNull
);
});
}
,
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
})
);
// Regression test for https://github.com/flutter/flutter/issues/40239.
// Regression test for https://github.com/flutter/flutter/issues/40239.
testWidgets
(
testWidgets
(
...
...
packages/flutter/test/widgets/list_wheel_scroll_view_test.dart
View file @
f013b25b
...
@@ -1203,8 +1203,6 @@ void main() {
...
@@ -1203,8 +1203,6 @@ void main() {
});
});
testWidgets
(
'high fling velocities lands exactly on items'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'high fling velocities lands exactly on items'
,
(
WidgetTester
tester
)
async
{
debugDefaultTargetPlatformOverride
=
TargetPlatform
.
iOS
;
final
FixedExtentScrollController
controller
=
FixedExtentScrollController
(
initialItem:
40
);
final
FixedExtentScrollController
controller
=
FixedExtentScrollController
(
initialItem:
40
);
final
List
<
double
>
scrolledPositions
=
<
double
>[];
final
List
<
double
>
scrolledPositions
=
<
double
>[];
...
@@ -1252,9 +1250,7 @@ void main() {
...
@@ -1252,9 +1250,7 @@ void main() {
expect
(
controller
.
selectedItem
,
49
);
expect
(
controller
.
selectedItem
,
49
);
// More importantly, lands tightly on 49.
// More importantly, lands tightly on 49.
expect
(
scrolledPositions
.
last
,
moreOrLessEquals
(
49
*
100.0
,
epsilon:
0.3
));
expect
(
scrolledPositions
.
last
,
moreOrLessEquals
(
49
*
100.0
,
epsilon:
0.3
));
},
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
}));
debugDefaultTargetPlatformOverride
=
null
;
});
});
});
testWidgets
(
'ListWheelScrollView getOffsetToReveal'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'ListWheelScrollView getOffsetToReveal'
,
(
WidgetTester
tester
)
async
{
...
...
packages/flutter/test/widgets/modal_barrier_test.dart
View file @
f013b25b
...
@@ -340,8 +340,6 @@ void main() {
...
@@ -340,8 +340,6 @@ void main() {
});
});
testWidgets
(
'Dismissible ModalBarrier includes button in semantic tree on iOS'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Dismissible ModalBarrier includes button in semantic tree on iOS'
,
(
WidgetTester
tester
)
async
{
debugDefaultTargetPlatformOverride
=
TargetPlatform
.
iOS
;
final
SemanticsTester
semantics
=
SemanticsTester
(
tester
);
final
SemanticsTester
semantics
=
SemanticsTester
(
tester
);
await
tester
.
pumpWidget
(
const
Directionality
(
await
tester
.
pumpWidget
(
const
Directionality
(
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
...
@@ -364,8 +362,7 @@ void main() {
...
@@ -364,8 +362,7 @@ void main() {
expect
(
semantics
,
hasSemantics
(
expectedSemantics
,
ignoreId:
true
));
expect
(
semantics
,
hasSemantics
(
expectedSemantics
,
ignoreId:
true
));
semantics
.
dispose
();
semantics
.
dispose
();
debugDefaultTargetPlatformOverride
=
null
;
},
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
}));
});
testWidgets
(
'Dismissible ModalBarrier is hidden on Android (back button is used to dismiss)'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Dismissible ModalBarrier is hidden on Android (back button is used to dismiss)'
,
(
WidgetTester
tester
)
async
{
final
SemanticsTester
semantics
=
SemanticsTester
(
tester
);
final
SemanticsTester
semantics
=
SemanticsTester
(
tester
);
...
...
packages/flutter/test/widgets/nested_scroll_view_test.dart
View file @
f013b25b
...
@@ -113,7 +113,6 @@ Widget buildTest({ ScrollController controller, String title = 'TTTTTTTT' }) {
...
@@ -113,7 +113,6 @@ Widget buildTest({ ScrollController controller, String title = 'TTTTTTTT' }) {
void
main
(
)
{
void
main
(
)
{
testWidgets
(
'NestedScrollView overscroll and release and hold'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'NestedScrollView overscroll and release and hold'
,
(
WidgetTester
tester
)
async
{
debugDefaultTargetPlatformOverride
=
TargetPlatform
.
iOS
;
await
tester
.
pumpWidget
(
buildTest
());
await
tester
.
pumpWidget
(
buildTest
());
expect
(
find
.
text
(
'aaa2'
),
findsOneWidget
);
expect
(
find
.
text
(
'aaa2'
),
findsOneWidget
);
await
tester
.
pump
(
const
Duration
(
milliseconds:
250
));
await
tester
.
pump
(
const
Duration
(
milliseconds:
250
));
...
@@ -128,10 +127,8 @@ void main() {
...
@@ -128,10 +127,8 @@ void main() {
// TODO(ianh): Once we improve how we handle scrolling down from overscroll,
// TODO(ianh): Once we improve how we handle scrolling down from overscroll,
// the following expectation should switch to 200.0.
// the following expectation should switch to 200.0.
expect
(
tester
.
renderObject
<
RenderBox
>(
find
.
byType
(
AppBar
)).
size
.
height
,
120.0
);
expect
(
tester
.
renderObject
<
RenderBox
>(
find
.
byType
(
AppBar
)).
size
.
height
,
120.0
);
debugDefaultTargetPlatformOverride
=
null
;
},
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
}));
});
testWidgets
(
'NestedScrollView overscroll and release and hold'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'NestedScrollView overscroll and release and hold'
,
(
WidgetTester
tester
)
async
{
debugDefaultTargetPlatformOverride
=
TargetPlatform
.
iOS
;
await
tester
.
pumpWidget
(
buildTest
());
await
tester
.
pumpWidget
(
buildTest
());
expect
(
find
.
text
(
'aaa2'
),
findsOneWidget
);
expect
(
find
.
text
(
'aaa2'
),
findsOneWidget
);
await
tester
.
pump
(
const
Duration
(
milliseconds:
250
));
await
tester
.
pump
(
const
Duration
(
milliseconds:
250
));
...
@@ -149,10 +146,8 @@ void main() {
...
@@ -149,10 +146,8 @@ void main() {
await
tester
.
pump
(
const
Duration
(
milliseconds:
10
));
await
tester
.
pump
(
const
Duration
(
milliseconds:
10
));
expect
(
find
.
text
(
'aaa2'
),
findsNothing
);
expect
(
find
.
text
(
'aaa2'
),
findsNothing
);
await
tester
.
pump
(
const
Duration
(
milliseconds:
1000
));
await
tester
.
pump
(
const
Duration
(
milliseconds:
1000
));
debugDefaultTargetPlatformOverride
=
null
;
},
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
}));
});
testWidgets
(
'NestedScrollView overscroll and release'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'NestedScrollView overscroll and release'
,
(
WidgetTester
tester
)
async
{
debugDefaultTargetPlatformOverride
=
TargetPlatform
.
iOS
;
await
tester
.
pumpWidget
(
buildTest
());
await
tester
.
pumpWidget
(
buildTest
());
expect
(
find
.
text
(
'aaa2'
),
findsOneWidget
);
expect
(
find
.
text
(
'aaa2'
),
findsOneWidget
);
await
tester
.
pump
(
const
Duration
(
milliseconds:
500
));
await
tester
.
pump
(
const
Duration
(
milliseconds:
500
));
...
@@ -164,8 +159,10 @@ void main() {
...
@@ -164,8 +159,10 @@ void main() {
await
gesture1
.
up
();
await
gesture1
.
up
();
await
tester
.
pumpAndSettle
();
await
tester
.
pumpAndSettle
();
expect
(
find
.
text
(
'aaa2'
),
findsOneWidget
);
expect
(
find
.
text
(
'aaa2'
),
findsOneWidget
);
debugDefaultTargetPlatformOverride
=
null
;
},
},
skip:
true
);
// https://github.com/flutter/flutter/issues/9040
skip:
true
,
// https://github.com/flutter/flutter/issues/9040
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
}));
testWidgets
(
'NestedScrollView'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'NestedScrollView'
,
(
WidgetTester
tester
)
async
{
await
tester
.
pumpWidget
(
buildTest
());
await
tester
.
pumpWidget
(
buildTest
());
expect
(
find
.
text
(
'aaa2'
),
findsOneWidget
);
expect
(
find
.
text
(
'aaa2'
),
findsOneWidget
);
...
@@ -610,12 +607,11 @@ void main() {
...
@@ -610,12 +607,11 @@ void main() {
debugDisableShadows
=
true
;
debugDisableShadows
=
true
;
});
});
testWidgets
(
'NestedScrollView and
iOS
bouncing'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'NestedScrollView and bouncing'
,
(
WidgetTester
tester
)
async
{
// This verifies that overscroll bouncing works correctly on iOS. For
// This verifies that overscroll bouncing works correctly on iOS. For
// example, this checks that if you pull to overscroll, friction is applied;
// example, this checks that if you pull to overscroll, friction is applied;
// it also makes sure that if you scroll back the other way, the scroll
// it also makes sure that if you scroll back the other way, the scroll
// positions of the inner and outer list don't have a discontinuity.
// positions of the inner and outer list don't have a discontinuity.
debugDefaultTargetPlatformOverride
=
TargetPlatform
.
iOS
;
const
Key
key1
=
ValueKey
<
int
>(
1
);
const
Key
key1
=
ValueKey
<
int
>(
1
);
const
Key
key2
=
ValueKey
<
int
>(
2
);
const
Key
key2
=
ValueKey
<
int
>(
2
);
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
...
@@ -674,8 +670,7 @@ void main() {
...
@@ -674,8 +670,7 @@ void main() {
await
tester
.
pump
();
await
tester
.
pump
();
expect
(
tester
.
getRect
(
find
.
byKey
(
key1
)),
const
Rect
.
fromLTWH
(
0.0
,
0.0
,
800.0
,
100.0
));
expect
(
tester
.
getRect
(
find
.
byKey
(
key1
)),
const
Rect
.
fromLTWH
(
0.0
,
0.0
,
800.0
,
100.0
));
await
gesture
.
up
();
await
gesture
.
up
();
debugDefaultTargetPlatformOverride
=
null
;
},
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
}));
});
}
}
class
TestHeader
extends
SliverPersistentHeaderDelegate
{
class
TestHeader
extends
SliverPersistentHeaderDelegate
{
...
...
packages/flutter/test/widgets/page_transitions_test.dart
View file @
f013b25b
...
@@ -157,10 +157,7 @@ void main() {
...
@@ -157,10 +157,7 @@ void main() {
),
),
};
};
await
tester
.
pumpWidget
(
MaterialApp
(
await
tester
.
pumpWidget
(
MaterialApp
(
routes:
routes
));
routes:
routes
,
theme:
ThemeData
(
platform:
TargetPlatform
.
iOS
),
));
Navigator
.
pushNamed
(
containerKey1
.
currentContext
,
'/settings'
);
Navigator
.
pushNamed
(
containerKey1
.
currentContext
,
'/settings'
);
...
@@ -199,7 +196,7 @@ void main() {
...
@@ -199,7 +196,7 @@ void main() {
settingsOffset
=
tester
.
getTopLeft
(
find
.
text
(
'Settings'
));
settingsOffset
=
tester
.
getTopLeft
(
find
.
text
(
'Settings'
));
expect
(
settingsOffset
.
dx
,
greaterThan
(
100.0
));
expect
(
settingsOffset
.
dx
,
greaterThan
(
100.0
));
expect
(
settingsOffset
.
dy
,
100.0
);
expect
(
settingsOffset
.
dy
,
100.0
);
});
}
,
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
})
);
testWidgets
(
'Check back gesture doesn
\'
t start during transitions'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Check back gesture doesn
\'
t start during transitions'
,
(
WidgetTester
tester
)
async
{
final
GlobalKey
containerKey1
=
GlobalKey
();
final
GlobalKey
containerKey1
=
GlobalKey
();
...
@@ -209,10 +206,7 @@ void main() {
...
@@ -209,10 +206,7 @@ void main() {
'/settings'
:
(
_
)
=>
Scaffold
(
key:
containerKey2
,
body:
const
Text
(
'Settings'
)),
'/settings'
:
(
_
)
=>
Scaffold
(
key:
containerKey2
,
body:
const
Text
(
'Settings'
)),
};
};
await
tester
.
pumpWidget
(
MaterialApp
(
await
tester
.
pumpWidget
(
MaterialApp
(
routes:
routes
));
routes:
routes
,
theme:
ThemeData
(
platform:
TargetPlatform
.
iOS
),
));
Navigator
.
pushNamed
(
containerKey1
.
currentContext
,
'/settings'
);
Navigator
.
pushNamed
(
containerKey1
.
currentContext
,
'/settings'
);
...
@@ -245,7 +239,7 @@ void main() {
...
@@ -245,7 +239,7 @@ void main() {
expect
(
find
.
text
(
'Home'
),
isOnstage
);
expect
(
find
.
text
(
'Home'
),
isOnstage
);
expect
(
find
.
text
(
'Settings'
),
findsNothing
);
expect
(
find
.
text
(
'Settings'
),
findsNothing
);
});
}
,
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
})
);
// Tests bug https://github.com/flutter/flutter/issues/6451
// Tests bug https://github.com/flutter/flutter/issues/6451
testWidgets
(
'Check back gesture with a persistent bottom sheet showing'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Check back gesture with a persistent bottom sheet showing'
,
(
WidgetTester
tester
)
async
{
...
@@ -256,10 +250,7 @@ void main() {
...
@@ -256,10 +250,7 @@ void main() {
'/sheet'
:
(
_
)
=>
PersistentBottomSheetTest
(
key:
containerKey2
),
'/sheet'
:
(
_
)
=>
PersistentBottomSheetTest
(
key:
containerKey2
),
};
};
await
tester
.
pumpWidget
(
MaterialApp
(
await
tester
.
pumpWidget
(
MaterialApp
(
routes:
routes
));
routes:
routes
,
theme:
ThemeData
(
platform:
TargetPlatform
.
iOS
),
));
Navigator
.
pushNamed
(
containerKey1
.
currentContext
,
'/sheet'
);
Navigator
.
pushNamed
(
containerKey1
.
currentContext
,
'/sheet'
);
...
@@ -302,7 +293,7 @@ void main() {
...
@@ -302,7 +293,7 @@ void main() {
// Sheet did not call setState (since the gesture did nothing).
// Sheet did not call setState (since the gesture did nothing).
expect
(
sheet
.
setStateCalled
,
isFalse
);
expect
(
sheet
.
setStateCalled
,
isFalse
);
});
}
,
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
})
);
testWidgets
(
'Test completed future'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Test completed future'
,
(
WidgetTester
tester
)
async
{
final
Map
<
String
,
WidgetBuilder
>
routes
=
<
String
,
WidgetBuilder
>{
final
Map
<
String
,
WidgetBuilder
>
routes
=
<
String
,
WidgetBuilder
>{
...
...
packages/flutter/test/widgets/page_view_test.dart
View file @
f013b25b
...
@@ -83,7 +83,6 @@ void main() {
...
@@ -83,7 +83,6 @@ void main() {
testWidgets
(
'PageView does not squish when overscrolled'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'PageView does not squish when overscrolled'
,
(
WidgetTester
tester
)
async
{
await
tester
.
pumpWidget
(
MaterialApp
(
await
tester
.
pumpWidget
(
MaterialApp
(
theme:
ThemeData
(
platform:
TargetPlatform
.
iOS
),
home:
PageView
(
home:
PageView
(
children:
List
<
Widget
>.
generate
(
10
,
(
int
i
)
{
children:
List
<
Widget
>.
generate
(
10
,
(
int
i
)
{
return
Container
(
return
Container
(
...
@@ -113,7 +112,7 @@ void main() {
...
@@ -113,7 +112,7 @@ void main() {
expect
(
leftOf
(
0
),
lessThan
(
0.0
));
expect
(
leftOf
(
0
),
lessThan
(
0.0
));
expect
(
sizeOf
(
0
),
equals
(
const
Size
(
800.0
,
600.0
)));
expect
(
sizeOf
(
0
),
equals
(
const
Size
(
800.0
,
600.0
)));
});
}
,
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
})
);
testWidgets
(
'PageController control test'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'PageController control test'
,
(
WidgetTester
tester
)
async
{
final
PageController
controller
=
PageController
(
initialPage:
4
);
final
PageController
controller
=
PageController
(
initialPage:
4
);
...
...
packages/flutter/test/widgets/scrollable_dispose_test.dart
View file @
f013b25b
...
@@ -28,10 +28,9 @@ void main() {
...
@@ -28,10 +28,9 @@ void main() {
await
tester
.
pump
(
const
Duration
(
hours:
5
));
await
tester
.
pump
(
const
Duration
(
hours:
5
));
});
});
testWidgets
(
'Disposing a (nested) Scrollable while holding in overscroll
(iOS)
does not crash'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Disposing a (nested) Scrollable while holding in overscroll does not crash'
,
(
WidgetTester
tester
)
async
{
// Regression test for https://github.com/flutter/flutter/issues/27707.
// Regression test for https://github.com/flutter/flutter/issues/27707.
debugDefaultTargetPlatformOverride
=
TargetPlatform
.
iOS
;
final
ScrollController
controller
=
ScrollController
();
final
ScrollController
controller
=
ScrollController
();
final
Key
outterContainer
=
GlobalKey
();
final
Key
outterContainer
=
GlobalKey
();
...
@@ -88,7 +87,5 @@ void main() {
...
@@ -88,7 +87,5 @@ void main() {
);
);
await
tester
.
pumpAndSettle
();
await
tester
.
pumpAndSettle
();
expect
(
controller
.
hasClients
,
isFalse
);
expect
(
controller
.
hasClients
,
isFalse
);
},
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
}));
debugDefaultTargetPlatformOverride
=
null
;
});
}
}
packages/flutter/test/widgets/scrollable_fling_test.dart
View file @
f013b25b
...
@@ -43,7 +43,7 @@ void main() {
...
@@ -43,7 +43,7 @@ void main() {
await
tester
.
pump
();
// trigger fling
await
tester
.
pump
();
// trigger fling
expect
(
getCurrentOffset
(),
dragOffset
);
expect
(
getCurrentOffset
(),
dragOffset
);
await
tester
.
pump
(
const
Duration
(
seconds:
5
));
await
tester
.
pump
(
const
Duration
(
seconds:
5
));
final
double
result1
=
getCurrentOffset
();
final
double
androidResult
=
getCurrentOffset
();
await
pumpTest
(
tester
,
TargetPlatform
.
iOS
);
await
pumpTest
(
tester
,
TargetPlatform
.
iOS
);
await
tester
.
fling
(
find
.
byType
(
ListView
),
const
Offset
(
0.0
,
-
dragOffset
),
1000.0
);
await
tester
.
fling
(
find
.
byType
(
ListView
),
const
Offset
(
0.0
,
-
dragOffset
),
1000.0
);
...
@@ -52,9 +52,19 @@ void main() {
...
@@ -52,9 +52,19 @@ void main() {
await
tester
.
pump
();
// trigger fling
await
tester
.
pump
();
// trigger fling
expect
(
getCurrentOffset
(),
moreOrLessEquals
(
210.71026666666666
));
expect
(
getCurrentOffset
(),
moreOrLessEquals
(
210.71026666666666
));
await
tester
.
pump
(
const
Duration
(
seconds:
5
));
await
tester
.
pump
(
const
Duration
(
seconds:
5
));
final
double
result2
=
getCurrentOffset
();
final
double
iOSResult
=
getCurrentOffset
();
expect
(
result1
,
lessThan
(
result2
));
// iOS (result2) is slipperier than Android (result1)
await
pumpTest
(
tester
,
TargetPlatform
.
macOS
);
await
tester
.
fling
(
find
.
byType
(
ListView
),
const
Offset
(
0.0
,
-
dragOffset
),
1000.0
);
// Scroll starts ease into the scroll on iOS.
expect
(
getCurrentOffset
(),
moreOrLessEquals
(
210.71026666666666
));
await
tester
.
pump
();
// trigger fling
expect
(
getCurrentOffset
(),
moreOrLessEquals
(
210.71026666666666
));
await
tester
.
pump
(
const
Duration
(
seconds:
5
));
final
double
macOSResult
=
getCurrentOffset
();
expect
(
androidResult
,
lessThan
(
iOSResult
));
// iOS is slipperier than Android
expect
(
androidResult
,
lessThan
(
macOSResult
));
// macOS is slipperier than Android
});
});
testWidgets
(
'fling and tap to stop'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'fling and tap to stop'
,
(
WidgetTester
tester
)
async
{
...
...
packages/flutter/test/widgets/scrollable_test.dart
View file @
f013b25b
...
@@ -97,7 +97,7 @@ void main() {
...
@@ -97,7 +97,7 @@ void main() {
await
tester
.
pump
();
// trigger fling
await
tester
.
pump
();
// trigger fling
expect
(
getScrollOffset
(
tester
),
dragOffset
);
expect
(
getScrollOffset
(
tester
),
dragOffset
);
await
tester
.
pump
(
const
Duration
(
seconds:
5
));
await
tester
.
pump
(
const
Duration
(
seconds:
5
));
final
double
result1
=
getScrollOffset
(
tester
);
final
double
androidResult
=
getScrollOffset
(
tester
);
resetScrollOffset
(
tester
);
resetScrollOffset
(
tester
);
...
@@ -108,13 +108,25 @@ void main() {
...
@@ -108,13 +108,25 @@ void main() {
await
tester
.
pump
();
// trigger fling
await
tester
.
pump
();
// trigger fling
expect
(
getScrollOffset
(
tester
),
moreOrLessEquals
(
197.16666666666669
));
expect
(
getScrollOffset
(
tester
),
moreOrLessEquals
(
197.16666666666669
));
await
tester
.
pump
(
const
Duration
(
seconds:
5
));
await
tester
.
pump
(
const
Duration
(
seconds:
5
));
final
double
result2
=
getScrollOffset
(
tester
);
final
double
iOSResult
=
getScrollOffset
(
tester
);
expect
(
result1
,
lessThan
(
result2
));
// iOS (result2) is slipperier than Android (result1)
resetScrollOffset
(
tester
);
await
pumpTest
(
tester
,
TargetPlatform
.
macOS
);
await
tester
.
fling
(
find
.
byType
(
Viewport
),
const
Offset
(
0.0
,
-
dragOffset
),
1000.0
);
// Scroll starts ease into the scroll on iOS.
expect
(
getScrollOffset
(
tester
),
moreOrLessEquals
(
197.16666666666669
));
await
tester
.
pump
();
// trigger fling
expect
(
getScrollOffset
(
tester
),
moreOrLessEquals
(
197.16666666666669
));
await
tester
.
pump
(
const
Duration
(
seconds:
5
));
final
double
macOSResult
=
getScrollOffset
(
tester
);
expect
(
androidResult
,
lessThan
(
iOSResult
));
// iOS is slipperier than Android
expect
(
androidResult
,
lessThan
(
macOSResult
));
// macOS is slipperier than Android
});
});
testWidgets
(
'Holding scroll'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Holding scroll'
,
(
WidgetTester
tester
)
async
{
await
pumpTest
(
tester
,
TargetPlatform
.
iOS
);
await
pumpTest
(
tester
,
debugDefaultTargetPlatformOverride
);
await
tester
.
drag
(
find
.
byType
(
Viewport
),
const
Offset
(
0.0
,
200.0
),
touchSlopY:
0.0
);
await
tester
.
drag
(
find
.
byType
(
Viewport
),
const
Offset
(
0.0
,
200.0
),
touchSlopY:
0.0
);
expect
(
getScrollOffset
(
tester
),
-
200.0
);
expect
(
getScrollOffset
(
tester
),
-
200.0
);
await
tester
.
pump
();
// trigger ballistic
await
tester
.
pump
();
// trigger ballistic
...
@@ -130,10 +142,10 @@ void main() {
...
@@ -130,10 +142,10 @@ void main() {
// Once the hold is let go, it should still snap back to origin.
// Once the hold is let go, it should still snap back to origin.
expect
(
await
tester
.
pumpAndSettle
(
const
Duration
(
minutes:
1
)),
2
);
expect
(
await
tester
.
pumpAndSettle
(
const
Duration
(
minutes:
1
)),
2
);
expect
(
getScrollOffset
(
tester
),
0.0
);
expect
(
getScrollOffset
(
tester
),
0.0
);
});
}
,
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
})
);
testWidgets
(
'Repeated flings builds momentum
on iOS
'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Repeated flings builds momentum'
,
(
WidgetTester
tester
)
async
{
await
pumpTest
(
tester
,
TargetPlatform
.
iOS
);
await
pumpTest
(
tester
,
debugDefaultTargetPlatformOverride
);
await
tester
.
fling
(
find
.
byType
(
Viewport
),
const
Offset
(
0.0
,
-
dragOffset
),
1000.0
);
await
tester
.
fling
(
find
.
byType
(
Viewport
),
const
Offset
(
0.0
,
-
dragOffset
),
1000.0
);
await
tester
.
pump
();
// trigger fling
await
tester
.
pump
();
// trigger fling
await
tester
.
pump
(
const
Duration
(
milliseconds:
10
));
await
tester
.
pump
(
const
Duration
(
milliseconds:
10
));
...
@@ -143,9 +155,9 @@ void main() {
...
@@ -143,9 +155,9 @@ void main() {
// On iOS, the velocity will be larger than the velocity of the last fling by a
// On iOS, the velocity will be larger than the velocity of the last fling by a
// non-trivial amount.
// non-trivial amount.
expect
(
getScrollVelocity
(
tester
),
greaterThan
(
1100.0
));
expect
(
getScrollVelocity
(
tester
),
greaterThan
(
1100.0
));
},
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
}));
resetScrollOffset
(
tester
);
testWidgets
(
'Repeated flings do not build momentum on Android'
,
(
WidgetTester
tester
)
async
{
await
pumpTest
(
tester
,
TargetPlatform
.
android
);
await
pumpTest
(
tester
,
TargetPlatform
.
android
);
await
tester
.
fling
(
find
.
byType
(
Viewport
),
const
Offset
(
0.0
,
-
dragOffset
),
1000.0
);
await
tester
.
fling
(
find
.
byType
(
Viewport
),
const
Offset
(
0.0
,
-
dragOffset
),
1000.0
);
await
tester
.
pump
();
// trigger fling
await
tester
.
pump
();
// trigger fling
...
@@ -158,8 +170,8 @@ void main() {
...
@@ -158,8 +170,8 @@ void main() {
expect
(
getScrollVelocity
(
tester
),
moreOrLessEquals
(
1000.0
));
expect
(
getScrollVelocity
(
tester
),
moreOrLessEquals
(
1000.0
));
});
});
testWidgets
(
'No iOS momentum build with flings in opposite directions'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'No iOS
/macOS
momentum build with flings in opposite directions'
,
(
WidgetTester
tester
)
async
{
await
pumpTest
(
tester
,
TargetPlatform
.
iOS
);
await
pumpTest
(
tester
,
debugDefaultTargetPlatformOverride
);
await
tester
.
fling
(
find
.
byType
(
Viewport
),
const
Offset
(
0.0
,
-
dragOffset
),
1000.0
);
await
tester
.
fling
(
find
.
byType
(
Viewport
),
const
Offset
(
0.0
,
-
dragOffset
),
1000.0
);
await
tester
.
pump
();
// trigger fling
await
tester
.
pump
();
// trigger fling
await
tester
.
pump
(
const
Duration
(
milliseconds:
10
));
await
tester
.
pump
(
const
Duration
(
milliseconds:
10
));
...
@@ -170,10 +182,10 @@ void main() {
...
@@ -170,10 +182,10 @@ void main() {
// opposite direction.
// opposite direction.
expect
(
getScrollVelocity
(
tester
),
greaterThan
(-
1000.0
));
expect
(
getScrollVelocity
(
tester
),
greaterThan
(-
1000.0
));
expect
(
getScrollVelocity
(
tester
),
lessThan
(
0.0
));
expect
(
getScrollVelocity
(
tester
),
lessThan
(
0.0
));
});
}
,
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
})
);
testWidgets
(
'No iOS momentum kept on hold gestures'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'No iOS
/macOS
momentum kept on hold gestures'
,
(
WidgetTester
tester
)
async
{
await
pumpTest
(
tester
,
TargetPlatform
.
iOS
);
await
pumpTest
(
tester
,
debugDefaultTargetPlatformOverride
);
await
tester
.
fling
(
find
.
byType
(
Viewport
),
const
Offset
(
0.0
,
-
dragOffset
),
1000.0
);
await
tester
.
fling
(
find
.
byType
(
Viewport
),
const
Offset
(
0.0
,
-
dragOffset
),
1000.0
);
await
tester
.
pump
();
// trigger fling
await
tester
.
pump
();
// trigger fling
await
tester
.
pump
(
const
Duration
(
milliseconds:
10
));
await
tester
.
pump
(
const
Duration
(
milliseconds:
10
));
...
@@ -183,7 +195,7 @@ void main() {
...
@@ -183,7 +195,7 @@ void main() {
await
gesture
.
up
();
await
gesture
.
up
();
// After a hold longer than 2 frames, previous velocity is lost.
// After a hold longer than 2 frames, previous velocity is lost.
expect
(
getScrollVelocity
(
tester
),
0.0
);
expect
(
getScrollVelocity
(
tester
),
0.0
);
});
}
,
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
})
);
testWidgets
(
'Drags creeping unaffected on Android'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Drags creeping unaffected on Android'
,
(
WidgetTester
tester
)
async
{
await
pumpTest
(
tester
,
TargetPlatform
.
android
);
await
pumpTest
(
tester
,
TargetPlatform
.
android
);
...
@@ -196,8 +208,8 @@ void main() {
...
@@ -196,8 +208,8 @@ void main() {
expect
(
getScrollOffset
(
tester
),
1.5
);
expect
(
getScrollOffset
(
tester
),
1.5
);
});
});
testWidgets
(
'Drags creeping must break threshold on iOS'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Drags creeping must break threshold on iOS
/macOS
'
,
(
WidgetTester
tester
)
async
{
await
pumpTest
(
tester
,
TargetPlatform
.
iOS
);
await
pumpTest
(
tester
,
debugDefaultTargetPlatformOverride
);
final
TestGesture
gesture
=
await
tester
.
startGesture
(
tester
.
getCenter
(
find
.
byType
(
Viewport
)));
final
TestGesture
gesture
=
await
tester
.
startGesture
(
tester
.
getCenter
(
find
.
byType
(
Viewport
)));
await
gesture
.
moveBy
(
const
Offset
(
0.0
,
-
0.5
));
await
gesture
.
moveBy
(
const
Offset
(
0.0
,
-
0.5
));
expect
(
getScrollOffset
(
tester
),
0.0
);
expect
(
getScrollOffset
(
tester
),
0.0
);
...
@@ -214,18 +226,18 @@ void main() {
...
@@ -214,18 +226,18 @@ void main() {
await
gesture
.
moveBy
(
const
Offset
(
0.0
,
-
0.5
),
timeStamp:
const
Duration
(
milliseconds:
50
));
await
gesture
.
moveBy
(
const
Offset
(
0.0
,
-
0.5
),
timeStamp:
const
Duration
(
milliseconds:
50
));
// -0.5 over threshold transferred.
// -0.5 over threshold transferred.
expect
(
getScrollOffset
(
tester
),
0.5
);
expect
(
getScrollOffset
(
tester
),
0.5
);
});
}
,
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
})
);
testWidgets
(
'Big drag over threshold magnitude preserved on iOS'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Big drag over threshold magnitude preserved on iOS
/macOS
'
,
(
WidgetTester
tester
)
async
{
await
pumpTest
(
tester
,
TargetPlatform
.
iOS
);
await
pumpTest
(
tester
,
debugDefaultTargetPlatformOverride
);
final
TestGesture
gesture
=
await
tester
.
startGesture
(
tester
.
getCenter
(
find
.
byType
(
Viewport
)));
final
TestGesture
gesture
=
await
tester
.
startGesture
(
tester
.
getCenter
(
find
.
byType
(
Viewport
)));
await
gesture
.
moveBy
(
const
Offset
(
0.0
,
-
30.0
));
await
gesture
.
moveBy
(
const
Offset
(
0.0
,
-
30.0
));
// No offset lost from threshold.
// No offset lost from threshold.
expect
(
getScrollOffset
(
tester
),
30.0
);
expect
(
getScrollOffset
(
tester
),
30.0
);
});
}
,
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
})
);
testWidgets
(
'Slow threshold breaks are attenuated on iOS'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Slow threshold breaks are attenuated on iOS
/macOS
'
,
(
WidgetTester
tester
)
async
{
await
pumpTest
(
tester
,
TargetPlatform
.
iOS
);
await
pumpTest
(
tester
,
debugDefaultTargetPlatformOverride
);
final
TestGesture
gesture
=
await
tester
.
startGesture
(
tester
.
getCenter
(
find
.
byType
(
Viewport
)));
final
TestGesture
gesture
=
await
tester
.
startGesture
(
tester
.
getCenter
(
find
.
byType
(
Viewport
)));
// This is a typical 'hesitant' iOS scroll start.
// This is a typical 'hesitant' iOS scroll start.
await
gesture
.
moveBy
(
const
Offset
(
0.0
,
-
10.0
));
await
gesture
.
moveBy
(
const
Offset
(
0.0
,
-
10.0
));
...
@@ -233,10 +245,10 @@ void main() {
...
@@ -233,10 +245,10 @@ void main() {
await
gesture
.
moveBy
(
const
Offset
(
0.0
,
-
10.0
),
timeStamp:
const
Duration
(
milliseconds:
20
));
await
gesture
.
moveBy
(
const
Offset
(
0.0
,
-
10.0
),
timeStamp:
const
Duration
(
milliseconds:
20
));
// Subsequent motions unaffected.
// Subsequent motions unaffected.
expect
(
getScrollOffset
(
tester
),
moreOrLessEquals
(
11.16666666666666673
));
expect
(
getScrollOffset
(
tester
),
moreOrLessEquals
(
11.16666666666666673
));
});
}
,
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
})
);
testWidgets
(
'Small continuing motion preserved on iOS'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Small continuing motion preserved on iOS
/macOS
'
,
(
WidgetTester
tester
)
async
{
await
pumpTest
(
tester
,
TargetPlatform
.
iOS
);
await
pumpTest
(
tester
,
debugDefaultTargetPlatformOverride
);
final
TestGesture
gesture
=
await
tester
.
startGesture
(
tester
.
getCenter
(
find
.
byType
(
Viewport
)));
final
TestGesture
gesture
=
await
tester
.
startGesture
(
tester
.
getCenter
(
find
.
byType
(
Viewport
)));
await
gesture
.
moveBy
(
const
Offset
(
0.0
,
-
30.0
));
// Break threshold.
await
gesture
.
moveBy
(
const
Offset
(
0.0
,
-
30.0
));
// Break threshold.
expect
(
getScrollOffset
(
tester
),
30.0
);
expect
(
getScrollOffset
(
tester
),
30.0
);
...
@@ -246,10 +258,10 @@ void main() {
...
@@ -246,10 +258,10 @@ void main() {
expect
(
getScrollOffset
(
tester
),
31.0
);
expect
(
getScrollOffset
(
tester
),
31.0
);
await
gesture
.
moveBy
(
const
Offset
(
0.0
,
-
0.5
),
timeStamp:
const
Duration
(
milliseconds:
60
));
await
gesture
.
moveBy
(
const
Offset
(
0.0
,
-
0.5
),
timeStamp:
const
Duration
(
milliseconds:
60
));
expect
(
getScrollOffset
(
tester
),
31.5
);
expect
(
getScrollOffset
(
tester
),
31.5
);
});
}
,
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
})
);
testWidgets
(
'Motion stop resets threshold on iOS'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Motion stop resets threshold on iOS
/macOS
'
,
(
WidgetTester
tester
)
async
{
await
pumpTest
(
tester
,
TargetPlatform
.
iOS
);
await
pumpTest
(
tester
,
debugDefaultTargetPlatformOverride
);
final
TestGesture
gesture
=
await
tester
.
startGesture
(
tester
.
getCenter
(
find
.
byType
(
Viewport
)));
final
TestGesture
gesture
=
await
tester
.
startGesture
(
tester
.
getCenter
(
find
.
byType
(
Viewport
)));
await
gesture
.
moveBy
(
const
Offset
(
0.0
,
-
30.0
));
// Break threshold.
await
gesture
.
moveBy
(
const
Offset
(
0.0
,
-
30.0
));
// Break threshold.
expect
(
getScrollOffset
(
tester
),
30.0
);
expect
(
getScrollOffset
(
tester
),
30.0
);
...
@@ -269,9 +281,9 @@ void main() {
...
@@ -269,9 +281,9 @@ void main() {
expect
(
getScrollOffset
(
tester
),
31.5
);
expect
(
getScrollOffset
(
tester
),
31.5
);
await
gesture
.
moveBy
(
const
Offset
(
0.0
,
-
1.0
),
timeStamp:
const
Duration
(
milliseconds:
180
));
await
gesture
.
moveBy
(
const
Offset
(
0.0
,
-
1.0
),
timeStamp:
const
Duration
(
milliseconds:
180
));
expect
(
getScrollOffset
(
tester
),
32.5
);
expect
(
getScrollOffset
(
tester
),
32.5
);
});
}
,
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
})
);
testWidgets
(
'Scroll pointer signals are handled'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Scroll pointer signals are handled
on Fuchsia
'
,
(
WidgetTester
tester
)
async
{
await
pumpTest
(
tester
,
TargetPlatform
.
fuchsia
);
await
pumpTest
(
tester
,
TargetPlatform
.
fuchsia
);
final
Offset
scrollEventLocation
=
tester
.
getCenter
(
find
.
byType
(
Viewport
));
final
Offset
scrollEventLocation
=
tester
.
getCenter
(
find
.
byType
(
Viewport
));
final
TestPointer
testPointer
=
TestPointer
(
1
,
ui
.
PointerDeviceKind
.
mouse
);
final
TestPointer
testPointer
=
TestPointer
(
1
,
ui
.
PointerDeviceKind
.
mouse
);
...
...
packages/flutter/test/widgets/selectable_text_test.dart
View file @
f013b25b
This diff is collapsed.
Click to expand it.
packages/flutter/test/widgets/sliver_fill_remaining_test.dart
View file @
f013b25b
...
@@ -283,7 +283,6 @@ void main() {
...
@@ -283,7 +283,6 @@ void main() {
});
});
testWidgets
(
'alignment with a flexible works'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'alignment with a flexible works'
,
(
WidgetTester
tester
)
async
{
debugDefaultTargetPlatformOverride
=
TargetPlatform
.
iOS
;
final
GlobalKey
key
=
GlobalKey
();
final
GlobalKey
key
=
GlobalKey
();
final
List
<
Widget
>
slivers
=
<
Widget
>[
final
List
<
Widget
>
slivers
=
<
Widget
>[
sliverBox
,
sliverBox
,
...
@@ -347,13 +346,10 @@ void main() {
...
@@ -347,13 +346,10 @@ void main() {
);
);
expect
(
tester
.
getBottomLeft
(
button
).
dy
,
lessThan
(
600.0
));
expect
(
tester
.
getBottomLeft
(
button
).
dy
,
lessThan
(
600.0
));
expect
(
tester
.
getCenter
(
button
).
dx
,
equals
(
400.0
));
expect
(
tester
.
getCenter
(
button
).
dx
,
equals
(
400.0
));
},
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
}));
debugDefaultTargetPlatformOverride
=
null
;
});
group
(
'fillOverscroll: true, relevant platforms'
,
()
{
group
(
'fillOverscroll: true, relevant platforms'
,
()
{
testWidgets
(
'child without size is sized by extent and overscroll'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'child without size is sized by extent and overscroll'
,
(
WidgetTester
tester
)
async
{
debugDefaultTargetPlatformOverride
=
TargetPlatform
.
iOS
;
final
List
<
Widget
>
slivers
=
<
Widget
>[
final
List
<
Widget
>
slivers
=
<
Widget
>[
sliverBox
,
sliverBox
,
SliverFillRemaining
(
SliverFillRemaining
(
...
@@ -378,12 +374,9 @@ void main() {
...
@@ -378,12 +374,9 @@ void main() {
await
tester
.
pumpAndSettle
();
await
tester
.
pumpAndSettle
();
final
RenderBox
box3
=
tester
.
renderObject
<
RenderBox
>(
find
.
byType
(
Container
).
last
);
final
RenderBox
box3
=
tester
.
renderObject
<
RenderBox
>(
find
.
byType
(
Container
).
last
);
expect
(
box3
.
size
.
height
,
equals
(
450
));
expect
(
box3
.
size
.
height
,
equals
(
450
));
},
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
}));
debugDefaultTargetPlatformOverride
=
null
;
});
testWidgets
(
'child with smaller size is overridden and sized by extent and overscroll'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'child with smaller size is overridden and sized by extent and overscroll'
,
(
WidgetTester
tester
)
async
{
debugDefaultTargetPlatformOverride
=
TargetPlatform
.
iOS
;
final
GlobalKey
key
=
GlobalKey
();
final
GlobalKey
key
=
GlobalKey
();
final
List
<
Widget
>
slivers
=
<
Widget
>[
final
List
<
Widget
>
slivers
=
<
Widget
>[
sliverBox
,
sliverBox
,
...
@@ -428,12 +421,9 @@ void main() {
...
@@ -428,12 +421,9 @@ void main() {
tester
.
renderObject
<
RenderBox
>(
find
.
byKey
(
key
)).
size
.
height
,
tester
.
renderObject
<
RenderBox
>(
find
.
byKey
(
key
)).
size
.
height
,
equals
(
450
),
equals
(
450
),
);
);
},
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
}));
debugDefaultTargetPlatformOverride
=
null
;
});
testWidgets
(
'extent is overridden by child size and overscroll if precedingScrollExtent > viewportMainAxisExtent'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'extent is overridden by child size and overscroll if precedingScrollExtent > viewportMainAxisExtent'
,
(
WidgetTester
tester
)
async
{
debugDefaultTargetPlatformOverride
=
TargetPlatform
.
iOS
;
final
GlobalKey
key
=
GlobalKey
();
final
GlobalKey
key
=
GlobalKey
();
final
ScrollController
controller
=
ScrollController
();
final
ScrollController
controller
=
ScrollController
();
final
List
<
Widget
>
slivers
=
<
Widget
>[
final
List
<
Widget
>
slivers
=
<
Widget
>[
...
@@ -473,12 +463,10 @@ void main() {
...
@@ -473,12 +463,10 @@ void main() {
tester
.
renderObject
<
RenderBox
>(
find
.
byKey
(
key
)).
size
.
height
,
tester
.
renderObject
<
RenderBox
>(
find
.
byKey
(
key
)).
size
.
height
,
equals
(
148.0
),
equals
(
148.0
),
);
);
// Check that the button alignment is true to expectations
// Check that the button alignment is true to expectations
final
Finder
button
=
find
.
byType
(
RaisedButton
);
final
Finder
button
=
find
.
byType
(
RaisedButton
);
expect
(
tester
.
getBottomLeft
(
button
).
dy
,
equals
(
550.0
));
expect
(
tester
.
getBottomLeft
(
button
).
dy
,
equals
(
550.0
));
expect
(
tester
.
getCenter
(
button
).
dx
,
equals
(
400.0
));
expect
(
tester
.
getCenter
(
button
).
dx
,
equals
(
400.0
));
debugDefaultTargetPlatformOverride
=
null
;
// Drag for overscroll
// Drag for overscroll
await
tester
.
drag
(
find
.
byType
(
Scrollable
),
const
Offset
(
0.0
,
-
50.0
));
await
tester
.
drag
(
find
.
byType
(
Scrollable
),
const
Offset
(
0.0
,
-
50.0
));
...
@@ -498,12 +486,9 @@ void main() {
...
@@ -498,12 +486,9 @@ void main() {
tester
.
renderObject
<
RenderBox
>(
find
.
byKey
(
key
)).
size
.
height
,
tester
.
renderObject
<
RenderBox
>(
find
.
byKey
(
key
)).
size
.
height
,
equals
(
148.0
),
equals
(
148.0
),
);
);
},
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
}));
debugDefaultTargetPlatformOverride
=
null
;
});
testWidgets
(
'fillOverscroll works when child has no size and precedingScrollExtent > viewportMainAxisExtent'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'fillOverscroll works when child has no size and precedingScrollExtent > viewportMainAxisExtent'
,
(
WidgetTester
tester
)
async
{
debugDefaultTargetPlatformOverride
=
TargetPlatform
.
iOS
;
final
GlobalKey
key
=
GlobalKey
();
final
GlobalKey
key
=
GlobalKey
();
final
ScrollController
controller
=
ScrollController
();
final
ScrollController
controller
=
ScrollController
();
final
List
<
Widget
>
slivers
=
<
Widget
>[
final
List
<
Widget
>
slivers
=
<
Widget
>[
...
@@ -557,12 +542,9 @@ void main() {
...
@@ -557,12 +542,9 @@ void main() {
tester
.
widgetList
<
DecoratedBox
>(
find
.
byType
(
DecoratedBox
)).
last
.
decoration
,
tester
.
widgetList
<
DecoratedBox
>(
find
.
byType
(
DecoratedBox
)).
last
.
decoration
,
amberBox
,
amberBox
,
);
);
},
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
}));
debugDefaultTargetPlatformOverride
=
null
;
});
testWidgets
(
'alignment with a flexible works with fillOverscroll'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'alignment with a flexible works with fillOverscroll'
,
(
WidgetTester
tester
)
async
{
debugDefaultTargetPlatformOverride
=
TargetPlatform
.
iOS
;
final
GlobalKey
key
=
GlobalKey
();
final
GlobalKey
key
=
GlobalKey
();
final
List
<
Widget
>
slivers
=
<
Widget
>[
final
List
<
Widget
>
slivers
=
<
Widget
>[
sliverBox
,
sliverBox
,
...
@@ -648,9 +630,7 @@ void main() {
...
@@ -648,9 +630,7 @@ void main() {
);
);
expect
(
tester
.
getBottomLeft
(
button
).
dy
,
equals
(
600.0
));
expect
(
tester
.
getBottomLeft
(
button
).
dy
,
equals
(
600.0
));
expect
(
tester
.
getCenter
(
button
).
dx
,
equals
(
400.0
));
expect
(
tester
.
getCenter
(
button
).
dx
,
equals
(
400.0
));
},
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
}));
debugDefaultTargetPlatformOverride
=
null
;
});
});
});
group
(
'fillOverscroll: true, is ignored on irrevelant platforms'
,
()
{
group
(
'fillOverscroll: true, is ignored on irrevelant platforms'
,
()
{
...
...
packages/flutter/test/widgets/text_selection_test.dart
View file @
f013b25b
...
@@ -7,7 +7,6 @@ import 'package:flutter/gestures.dart' show PointerDeviceKind;
...
@@ -7,7 +7,6 @@ import 'package:flutter/gestures.dart' show PointerDeviceKind;
import
'package:flutter/widgets.dart'
;
import
'package:flutter/widgets.dart'
;
import
'package:flutter/rendering.dart'
;
import
'package:flutter/rendering.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter/foundation.dart'
show
debugDefaultTargetPlatformOverride
;
void
main
(
)
{
void
main
(
)
{
int
tapCount
;
int
tapCount
;
...
@@ -552,7 +551,6 @@ void main() {
...
@@ -552,7 +551,6 @@ void main() {
// Regression test for https://github.com/flutter/flutter/issues/37032.
// Regression test for https://github.com/flutter/flutter/issues/37032.
testWidgets
(
"selection handle's GestureDetector should not cover the entire screen"
,
(
WidgetTester
tester
)
async
{
testWidgets
(
"selection handle's GestureDetector should not cover the entire screen"
,
(
WidgetTester
tester
)
async
{
debugDefaultTargetPlatformOverride
=
TargetPlatform
.
iOS
;
final
TextEditingController
controller
=
TextEditingController
(
text:
'a'
);
final
TextEditingController
controller
=
TextEditingController
(
text:
'a'
);
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
...
@@ -583,9 +581,7 @@ void main() {
...
@@ -583,9 +581,7 @@ void main() {
expect
(
hitRect
.
size
.
width
,
lessThan
(
textFieldRect
.
size
.
width
));
expect
(
hitRect
.
size
.
width
,
lessThan
(
textFieldRect
.
size
.
width
));
expect
(
hitRect
.
size
.
height
,
lessThan
(
textFieldRect
.
size
.
height
));
expect
(
hitRect
.
size
.
height
,
lessThan
(
textFieldRect
.
size
.
height
));
},
variant:
const
TargetPlatformVariant
(<
TargetPlatform
>{
TargetPlatform
.
iOS
,
TargetPlatform
.
macOS
}));
debugDefaultTargetPlatformOverride
=
null
;
});
}
}
class
FakeTextSelectionGestureDetectorBuilderDelegate
implements
TextSelectionGestureDetectorBuilderDelegate
{
class
FakeTextSelectionGestureDetectorBuilderDelegate
implements
TextSelectionGestureDetectorBuilderDelegate
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment