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
3ecac303
Unverified
Commit
3ecac303
authored
Oct 27, 2020
by
Dan Field
Committed by
GitHub
Oct 27, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Driver vm service (#68654)
Migrate flutter_driver to use package:vm_service
parent
e949ff54
Changes
34
Hide whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
749 additions
and
1155 deletions
+749
-1155
pubspec.yaml
dev/benchmarks/complex_layout/pubspec.yaml
+8
-10
pubspec.yaml
dev/benchmarks/macrobenchmarks/pubspec.yaml
+8
-10
pubspec.yaml
dev/benchmarks/platform_views_layout/pubspec.yaml
+8
-10
pubspec.yaml
...rks/platform_views_layout_hybrid_composition/pubspec.yaml
+8
-10
pubspec.yaml
dev/benchmarks/test_apps/stocks/pubspec.yaml
+1
-3
pubspec.yaml
dev/integration_tests/android_semantics_testing/pubspec.yaml
+1
-3
pubspec.yaml
...id_splash_screens/splash_screen_kitchen_sink/pubspec.yaml
+1
-3
pubspec.yaml
...id_splash_screens/splash_screen_trans_rotate/pubspec.yaml
+1
-3
pubspec.yaml
dev/integration_tests/android_views/pubspec.yaml
+8
-10
pubspec.yaml
dev/integration_tests/channels/pubspec.yaml
+1
-3
pubspec.yaml
dev/integration_tests/external_ui/pubspec.yaml
+1
-3
pubspec.yaml
dev/integration_tests/flavors/pubspec.yaml
+1
-3
pubspec.yaml
...gration_tests/flutter_driver_screenshot_test/pubspec.yaml
+8
-10
pubspec.yaml
dev/integration_tests/flutter_gallery/pubspec.yaml
+1
-3
pubspec.yaml
dev/integration_tests/hybrid_android_views/pubspec.yaml
+8
-10
pubspec.yaml
dev/integration_tests/ios_platform_view_tests/pubspec.yaml
+1
-3
pubspec.yaml
dev/integration_tests/platform_interaction/pubspec.yaml
+1
-3
pubspec.yaml
dev/integration_tests/release_smoke_test/pubspec.yaml
+2
-5
pubspec.yaml
dev/integration_tests/ui/pubspec.yaml
+1
-3
license_check_test.dart
dev/integration_tests/ui/test_driver/license_check_test.dart
+0
-43
pubspec.yaml
dev/integration_tests/web_e2e_tests/pubspec.yaml
+1
-3
pubspec.yaml
examples/hello_world/pubspec.yaml
+1
-3
pubspec.yaml
examples/platform_channel/pubspec.yaml
+1
-3
pubspec.yaml
examples/platform_channel_swift/pubspec.yaml
+1
-3
pubspec.yaml
packages/_flutter_web_build_script/pubspec.yaml
+2
-2
driver.dart
packages/flutter_driver/lib/src/driver/driver.dart
+33
-37
vmservice_driver.dart
packages/flutter_driver/lib/src/driver/vmservice_driver.dart
+118
-241
web_driver.dart
packages/flutter_driver/lib/src/driver/web_driver.dart
+3
-3
pubspec.yaml
packages/flutter_driver/pubspec.yaml
+5
-7
common.dart
packages/flutter_driver/test/common.dart
+4
-0
flutter_driver_test.dart
packages/flutter_driver/test/flutter_driver_test.dart
+502
-691
find_test.dart
packages/flutter_driver/test/src/real_tests/find_test.dart
+4
-5
pubspec.yaml
packages/flutter_tools/pubspec.yaml
+2
-2
pubspec.yaml
packages/fuchsia_remote_debug_protocol/pubspec.yaml
+3
-4
No files found.
dev/benchmarks/complex_layout/pubspec.yaml
View file @
3ecac303
...
@@ -19,27 +19,20 @@ dependencies:
...
@@ -19,27 +19,20 @@ dependencies:
archive
:
2.0.13
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
archive
:
2.0.13
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.6.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.6.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
async
:
2.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
characters
:
1.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
characters
:
1.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
charcode
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
charcode
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
collection
:
1.15.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
collection
:
1.15.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
convert
:
2.1.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
convert
:
2.1.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
crypto
:
2.1.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
crypto
:
2.1.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
file
:
6.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
file
:
6.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
path
:
1.8.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
path
:
1.8.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pub_semver
:
1.4.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_span
:
1.8.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stack_trace
:
1.10.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stack_trace
:
1.10.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_channel
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
sync_http
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
sync_http
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
dev_dependencies
:
dev_dependencies
:
...
@@ -50,6 +43,7 @@ dev_dependencies:
...
@@ -50,6 +43,7 @@ dev_dependencies:
_fe_analyzer_shared
:
7.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
_fe_analyzer_shared
:
7.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
analyzer
:
0.39.17
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
analyzer
:
0.39.17
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
async
:
2.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
boolean_selector
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
boolean_selector
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
cli_util
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
cli_util
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
clock
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
clock
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -70,17 +64,21 @@ dev_dependencies:
...
@@ -70,17 +64,21 @@ dev_dependencies:
package_config
:
1.9.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
package_config
:
1.9.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pedantic
:
1.10.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pedantic
:
1.10.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pool
:
1.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pool
:
1.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pub_semver
:
1.4.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf
:
0.7.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf
:
0.7.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_packages_handler
:
2.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_packages_handler
:
2.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_static
:
0.2.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_static
:
0.2.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_web_socket
:
0.2.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_web_socket
:
0.2.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_map_stack_trace
:
2.1.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_map_stack_trace
:
2.1.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_maps
:
0.10.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_maps
:
0.10.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_span
:
1.8.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_channel
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
string_scanner
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
string_scanner
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webkit_inspection_protocol
:
0.7.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webkit_inspection_protocol
:
0.7.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -90,4 +88,4 @@ flutter:
...
@@ -90,4 +88,4 @@ flutter:
-
packages/flutter_gallery_assets/people/square/ali.png
-
packages/flutter_gallery_assets/people/square/ali.png
-
packages/flutter_gallery_assets/places/india_chettinad_silk_maker.png
-
packages/flutter_gallery_assets/places/india_chettinad_silk_maker.png
# PUBSPEC CHECKSUM:
4929
# PUBSPEC CHECKSUM:
6324
dev/benchmarks/macrobenchmarks/pubspec.yaml
View file @
3ecac303
...
@@ -19,27 +19,20 @@ dependencies:
...
@@ -19,27 +19,20 @@ dependencies:
archive
:
2.0.13
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
archive
:
2.0.13
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.6.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.6.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
async
:
2.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
characters
:
1.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
characters
:
1.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
charcode
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
charcode
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
collection
:
1.15.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
collection
:
1.15.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
convert
:
2.1.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
convert
:
2.1.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
crypto
:
2.1.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
crypto
:
2.1.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
file
:
6.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
file
:
6.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
path
:
1.8.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
path
:
1.8.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pub_semver
:
1.4.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_span
:
1.8.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stack_trace
:
1.10.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stack_trace
:
1.10.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_channel
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
sync_http
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
sync_http
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
dev_dependencies
:
dev_dependencies
:
...
@@ -50,6 +43,7 @@ dev_dependencies:
...
@@ -50,6 +43,7 @@ dev_dependencies:
_fe_analyzer_shared
:
7.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
_fe_analyzer_shared
:
7.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
analyzer
:
0.39.17
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
analyzer
:
0.39.17
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
async
:
2.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
boolean_selector
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
boolean_selector
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
cli_util
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
cli_util
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
clock
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
clock
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -70,17 +64,21 @@ dev_dependencies:
...
@@ -70,17 +64,21 @@ dev_dependencies:
package_config
:
1.9.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
package_config
:
1.9.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pedantic
:
1.10.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pedantic
:
1.10.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pool
:
1.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pool
:
1.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pub_semver
:
1.4.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf
:
0.7.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf
:
0.7.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_packages_handler
:
2.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_packages_handler
:
2.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_static
:
0.2.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_static
:
0.2.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_web_socket
:
0.2.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_web_socket
:
0.2.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_map_stack_trace
:
2.1.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_map_stack_trace
:
2.1.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_maps
:
0.10.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_maps
:
0.10.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_span
:
1.8.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_channel
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
string_scanner
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
string_scanner
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webkit_inspection_protocol
:
0.7.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webkit_inspection_protocol
:
0.7.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -214,4 +212,4 @@ flutter:
...
@@ -214,4 +212,4 @@ flutter:
fonts
:
fonts
:
-
asset
:
packages/flutter_gallery_assets/fonts/GalleryIcons.ttf
-
asset
:
packages/flutter_gallery_assets/fonts/GalleryIcons.ttf
# PUBSPEC CHECKSUM:
06f9
# PUBSPEC CHECKSUM:
f9f4
dev/benchmarks/platform_views_layout/pubspec.yaml
View file @
3ecac303
...
@@ -18,27 +18,20 @@ dependencies:
...
@@ -18,27 +18,20 @@ dependencies:
archive
:
2.0.13
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
archive
:
2.0.13
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.6.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.6.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
async
:
2.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
characters
:
1.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
characters
:
1.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
charcode
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
charcode
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
collection
:
1.15.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
collection
:
1.15.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
convert
:
2.1.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
convert
:
2.1.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
crypto
:
2.1.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
crypto
:
2.1.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
file
:
6.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
file
:
6.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
path
:
1.8.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
path
:
1.8.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pub_semver
:
1.4.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_span
:
1.8.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stack_trace
:
1.10.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stack_trace
:
1.10.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_channel
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
sync_http
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
sync_http
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
dev_dependencies
:
dev_dependencies
:
...
@@ -48,6 +41,7 @@ dev_dependencies:
...
@@ -48,6 +41,7 @@ dev_dependencies:
_fe_analyzer_shared
:
7.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
_fe_analyzer_shared
:
7.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
analyzer
:
0.39.17
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
analyzer
:
0.39.17
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
async
:
2.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
boolean_selector
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
boolean_selector
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
cli_util
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
cli_util
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
clock
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
clock
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -68,17 +62,21 @@ dev_dependencies:
...
@@ -68,17 +62,21 @@ dev_dependencies:
package_config
:
1.9.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
package_config
:
1.9.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pedantic
:
1.10.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pedantic
:
1.10.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pool
:
1.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pool
:
1.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pub_semver
:
1.4.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf
:
0.7.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf
:
0.7.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_packages_handler
:
2.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_packages_handler
:
2.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_static
:
0.2.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_static
:
0.2.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_web_socket
:
0.2.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_web_socket
:
0.2.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_map_stack_trace
:
2.1.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_map_stack_trace
:
2.1.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_maps
:
0.10.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_maps
:
0.10.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_span
:
1.8.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_channel
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
string_scanner
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
string_scanner
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webkit_inspection_protocol
:
0.7.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webkit_inspection_protocol
:
0.7.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -88,4 +86,4 @@ flutter:
...
@@ -88,4 +86,4 @@ flutter:
-
packages/flutter_gallery_assets/people/square/ali.png
-
packages/flutter_gallery_assets/people/square/ali.png
-
packages/flutter_gallery_assets/places/india_chettinad_silk_maker.png
-
packages/flutter_gallery_assets/places/india_chettinad_silk_maker.png
# PUBSPEC CHECKSUM:
2b81
# PUBSPEC CHECKSUM:
977c
dev/benchmarks/platform_views_layout_hybrid_composition/pubspec.yaml
View file @
3ecac303
...
@@ -18,27 +18,20 @@ dependencies:
...
@@ -18,27 +18,20 @@ dependencies:
archive
:
2.0.13
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
archive
:
2.0.13
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.6.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.6.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
async
:
2.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
characters
:
1.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
characters
:
1.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
charcode
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
charcode
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
collection
:
1.15.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
collection
:
1.15.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
convert
:
2.1.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
convert
:
2.1.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
crypto
:
2.1.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
crypto
:
2.1.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
file
:
6.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
file
:
6.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
path
:
1.8.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
path
:
1.8.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pub_semver
:
1.4.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_span
:
1.8.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stack_trace
:
1.10.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stack_trace
:
1.10.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_channel
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
sync_http
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
sync_http
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
dev_dependencies
:
dev_dependencies
:
...
@@ -48,6 +41,7 @@ dev_dependencies:
...
@@ -48,6 +41,7 @@ dev_dependencies:
_fe_analyzer_shared
:
7.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
_fe_analyzer_shared
:
7.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
analyzer
:
0.39.17
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
analyzer
:
0.39.17
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
async
:
2.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
boolean_selector
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
boolean_selector
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
cli_util
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
cli_util
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
clock
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
clock
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -68,17 +62,21 @@ dev_dependencies:
...
@@ -68,17 +62,21 @@ dev_dependencies:
package_config
:
1.9.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
package_config
:
1.9.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pedantic
:
1.10.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pedantic
:
1.10.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pool
:
1.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pool
:
1.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pub_semver
:
1.4.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf
:
0.7.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf
:
0.7.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_packages_handler
:
2.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_packages_handler
:
2.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_static
:
0.2.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_static
:
0.2.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_web_socket
:
0.2.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_web_socket
:
0.2.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_map_stack_trace
:
2.1.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_map_stack_trace
:
2.1.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_maps
:
0.10.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_maps
:
0.10.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_span
:
1.8.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_channel
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
string_scanner
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
string_scanner
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webkit_inspection_protocol
:
0.7.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webkit_inspection_protocol
:
0.7.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -88,4 +86,4 @@ flutter:
...
@@ -88,4 +86,4 @@ flutter:
-
packages/flutter_gallery_assets/people/square/ali.png
-
packages/flutter_gallery_assets/people/square/ali.png
-
packages/flutter_gallery_assets/places/india_chettinad_silk_maker.png
-
packages/flutter_gallery_assets/places/india_chettinad_silk_maker.png
# PUBSPEC CHECKSUM:
2b81
# PUBSPEC CHECKSUM:
977c
dev/benchmarks/test_apps/stocks/pubspec.yaml
View file @
3ecac303
...
@@ -61,7 +61,6 @@ dev_dependencies:
...
@@ -61,7 +61,6 @@ dev_dependencies:
file
:
6.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
file
:
6.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
http_multi_server
:
2.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
http_multi_server
:
2.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
mime
:
0.9.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
mime
:
0.9.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -79,7 +78,6 @@ dev_dependencies:
...
@@ -79,7 +78,6 @@ dev_dependencies:
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webkit_inspection_protocol
:
0.7.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webkit_inspection_protocol
:
0.7.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -87,4 +85,4 @@ dev_dependencies:
...
@@ -87,4 +85,4 @@ dev_dependencies:
flutter
:
flutter
:
uses-material-design
:
true
uses-material-design
:
true
# PUBSPEC CHECKSUM:
0d05
# PUBSPEC CHECKSUM:
a800
dev/integration_tests/android_semantics_testing/pubspec.yaml
View file @
3ecac303
...
@@ -31,7 +31,6 @@ dependencies:
...
@@ -31,7 +31,6 @@ dependencies:
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -61,7 +60,6 @@ dependencies:
...
@@ -61,7 +60,6 @@ dependencies:
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -71,4 +69,4 @@ dependencies:
...
@@ -71,4 +69,4 @@ dependencies:
flutter
:
flutter
:
uses-material-design
:
true
uses-material-design
:
true
# PUBSPEC CHECKSUM:
3a76
# PUBSPEC CHECKSUM:
5c71
dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/pubspec.yaml
View file @
3ecac303
...
@@ -64,7 +64,6 @@ dev_dependencies:
...
@@ -64,7 +64,6 @@ dev_dependencies:
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
mime
:
0.9.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
mime
:
0.9.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -91,7 +90,6 @@ dev_dependencies:
...
@@ -91,7 +90,6 @@ dev_dependencies:
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -136,4 +134,4 @@ flutter:
...
@@ -136,4 +134,4 @@ flutter:
# For details regarding fonts from package dependencies,
# For details regarding fonts from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages
# see https://flutter.dev/custom-fonts/#from-packages
# PUBSPEC CHECKSUM:
e284
# PUBSPEC CHECKSUM:
4c7f
dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/pubspec.yaml
View file @
3ecac303
...
@@ -64,7 +64,6 @@ dev_dependencies:
...
@@ -64,7 +64,6 @@ dev_dependencies:
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
mime
:
0.9.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
mime
:
0.9.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -91,7 +90,6 @@ dev_dependencies:
...
@@ -91,7 +90,6 @@ dev_dependencies:
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -136,4 +134,4 @@ flutter:
...
@@ -136,4 +134,4 @@ flutter:
# For details regarding fonts from package dependencies,
# For details regarding fonts from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages
# see https://flutter.dev/custom-fonts/#from-packages
# PUBSPEC CHECKSUM:
e284
# PUBSPEC CHECKSUM:
4c7f
dev/integration_tests/android_views/pubspec.yaml
View file @
3ecac303
...
@@ -19,13 +19,11 @@ dependencies:
...
@@ -19,13 +19,11 @@ dependencies:
archive
:
2.0.13
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
archive
:
2.0.13
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.6.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.6.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
async
:
2.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
characters
:
1.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
characters
:
1.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
charcode
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
charcode
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
convert
:
2.1.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
convert
:
2.1.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
crypto
:
2.1.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
crypto
:
2.1.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
file
:
6.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
file
:
6.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
path
:
1.8.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
path
:
1.8.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -35,16 +33,11 @@ dependencies:
...
@@ -35,16 +33,11 @@ dependencies:
platform
:
3.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
platform
:
3.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
plugin_platform_interface
:
1.0.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
plugin_platform_interface
:
1.0.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
process
:
4.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
process
:
4.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pub_semver
:
1.4.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_span
:
1.8.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stack_trace
:
1.10.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stack_trace
:
1.10.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_channel
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
sync_http
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
sync_http
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
xdg_directories
:
0.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
xdg_directories
:
0.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -55,6 +48,7 @@ dev_dependencies:
...
@@ -55,6 +48,7 @@ dev_dependencies:
_fe_analyzer_shared
:
7.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
_fe_analyzer_shared
:
7.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
analyzer
:
0.39.17
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
analyzer
:
0.39.17
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
async
:
2.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
boolean_selector
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
boolean_selector
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
cli_util
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
cli_util
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
clock
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
clock
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -75,21 +69,25 @@ dev_dependencies:
...
@@ -75,21 +69,25 @@ dev_dependencies:
package_config
:
1.9.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
package_config
:
1.9.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pedantic
:
1.10.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pedantic
:
1.10.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pool
:
1.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pool
:
1.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pub_semver
:
1.4.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf
:
0.7.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf
:
0.7.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_packages_handler
:
2.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_packages_handler
:
2.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_static
:
0.2.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_static
:
0.2.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_web_socket
:
0.2.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_web_socket
:
0.2.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_map_stack_trace
:
2.1.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_map_stack_trace
:
2.1.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_maps
:
0.10.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_maps
:
0.10.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_span
:
1.8.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_channel
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
string_scanner
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
string_scanner
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webkit_inspection_protocol
:
0.7.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webkit_inspection_protocol
:
0.7.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
flutter
:
flutter
:
uses-material-design
:
true
uses-material-design
:
true
# PUBSPEC CHECKSUM:
d4d0
# PUBSPEC CHECKSUM:
becb
dev/integration_tests/channels/pubspec.yaml
View file @
3ecac303
...
@@ -33,7 +33,6 @@ dependencies:
...
@@ -33,7 +33,6 @@ dependencies:
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -63,7 +62,6 @@ dependencies:
...
@@ -63,7 +62,6 @@ dependencies:
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -73,4 +71,4 @@ dependencies:
...
@@ -73,4 +71,4 @@ dependencies:
flutter
:
flutter
:
uses-material-design
:
true
uses-material-design
:
true
# PUBSPEC CHECKSUM:
3a76
# PUBSPEC CHECKSUM:
5c71
dev/integration_tests/external_ui/pubspec.yaml
View file @
3ecac303
...
@@ -33,7 +33,6 @@ dependencies:
...
@@ -33,7 +33,6 @@ dependencies:
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -63,7 +62,6 @@ dependencies:
...
@@ -63,7 +62,6 @@ dependencies:
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -73,4 +71,4 @@ dependencies:
...
@@ -73,4 +71,4 @@ dependencies:
flutter
:
flutter
:
uses-material-design
:
true
uses-material-design
:
true
# PUBSPEC CHECKSUM:
3a76
# PUBSPEC CHECKSUM:
5c71
dev/integration_tests/flavors/pubspec.yaml
View file @
3ecac303
...
@@ -33,7 +33,6 @@ dependencies:
...
@@ -33,7 +33,6 @@ dependencies:
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -63,7 +62,6 @@ dependencies:
...
@@ -63,7 +62,6 @@ dependencies:
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -73,4 +71,4 @@ dependencies:
...
@@ -73,4 +71,4 @@ dependencies:
flutter
:
flutter
:
uses-material-design
:
true
uses-material-design
:
true
# PUBSPEC CHECKSUM:
3a76
# PUBSPEC CHECKSUM:
5c71
dev/integration_tests/flutter_driver_screenshot_test/pubspec.yaml
View file @
3ecac303
...
@@ -14,7 +14,6 @@ dependencies:
...
@@ -14,7 +14,6 @@ dependencies:
archive
:
2.0.13
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
archive
:
2.0.13
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.6.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.6.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
async
:
2.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
characters
:
1.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
characters
:
1.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
charcode
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
charcode
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
collection
:
1.15.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
collection
:
1.15.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -22,21 +21,15 @@ dependencies:
...
@@ -22,21 +21,15 @@ dependencies:
crypto
:
2.1.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
crypto
:
2.1.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
device_info_platform_interface
:
1.0.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
device_info_platform_interface
:
1.0.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
file
:
6.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
file
:
6.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
path
:
1.8.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
path
:
1.8.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
plugin_platform_interface
:
1.0.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
plugin_platform_interface
:
1.0.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pub_semver
:
1.4.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_span
:
1.8.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stack_trace
:
1.10.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stack_trace
:
1.10.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_channel
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
sync_http
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
sync_http
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
dev_dependencies
:
dev_dependencies
:
...
@@ -44,6 +37,7 @@ dev_dependencies:
...
@@ -44,6 +37,7 @@ dev_dependencies:
_fe_analyzer_shared
:
7.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
_fe_analyzer_shared
:
7.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
analyzer
:
0.39.17
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
analyzer
:
0.39.17
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
async
:
2.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
boolean_selector
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
boolean_selector
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
cli_util
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
cli_util
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
coverage
:
0.14.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
coverage
:
0.14.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -62,17 +56,21 @@ dev_dependencies:
...
@@ -62,17 +56,21 @@ dev_dependencies:
package_config
:
1.9.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
package_config
:
1.9.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pedantic
:
1.10.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pedantic
:
1.10.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pool
:
1.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pool
:
1.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pub_semver
:
1.4.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf
:
0.7.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf
:
0.7.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_packages_handler
:
2.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_packages_handler
:
2.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_static
:
0.2.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_static
:
0.2.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_web_socket
:
0.2.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_web_socket
:
0.2.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_map_stack_trace
:
2.1.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_map_stack_trace
:
2.1.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_maps
:
0.10.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_maps
:
0.10.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_span
:
1.8.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_channel
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
string_scanner
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
string_scanner
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webkit_inspection_protocol
:
0.7.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webkit_inspection_protocol
:
0.7.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -81,4 +79,4 @@ flutter:
...
@@ -81,4 +79,4 @@ flutter:
assets
:
assets
:
-
assets/
-
assets/
# PUBSPEC CHECKSUM:
d5a7
# PUBSPEC CHECKSUM:
e9a2
dev/integration_tests/flutter_gallery/pubspec.yaml
View file @
3ecac303
...
@@ -73,7 +73,6 @@ dev_dependencies:
...
@@ -73,7 +73,6 @@ dev_dependencies:
http_multi_server
:
2.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
http_multi_server
:
2.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
mime
:
0.9.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
mime
:
0.9.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -98,7 +97,6 @@ dev_dependencies:
...
@@ -98,7 +97,6 @@ dev_dependencies:
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -276,4 +274,4 @@ flutter:
...
@@ -276,4 +274,4 @@ flutter:
-
asset
:
packages/flutter_gallery_assets/fonts/merriweather/Merriweather-Regular.ttf
-
asset
:
packages/flutter_gallery_assets/fonts/merriweather/Merriweather-Regular.ttf
-
asset
:
packages/flutter_gallery_assets/fonts/merriweather/Merriweather-Light.ttf
-
asset
:
packages/flutter_gallery_assets/fonts/merriweather/Merriweather-Light.ttf
# PUBSPEC CHECKSUM: 6
72e
# PUBSPEC CHECKSUM: 6
c29
dev/integration_tests/hybrid_android_views/pubspec.yaml
View file @
3ecac303
...
@@ -19,13 +19,11 @@ dependencies:
...
@@ -19,13 +19,11 @@ dependencies:
archive
:
2.0.13
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
archive
:
2.0.13
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.6.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
args
:
1.6.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
async
:
2.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
characters
:
1.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
characters
:
1.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
charcode
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
charcode
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
convert
:
2.1.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
convert
:
2.1.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
crypto
:
2.1.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
crypto
:
2.1.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
file
:
6.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
file
:
6.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
path
:
1.8.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
path
:
1.8.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -35,16 +33,11 @@ dependencies:
...
@@ -35,16 +33,11 @@ dependencies:
platform
:
3.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
platform
:
3.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
plugin_platform_interface
:
1.0.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
plugin_platform_interface
:
1.0.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
process
:
4.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
process
:
4.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pub_semver
:
1.4.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_span
:
1.8.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stack_trace
:
1.10.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stack_trace
:
1.10.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_channel
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
sync_http
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
sync_http
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
xdg_directories
:
0.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
xdg_directories
:
0.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -55,6 +48,7 @@ dev_dependencies:
...
@@ -55,6 +48,7 @@ dev_dependencies:
_fe_analyzer_shared
:
7.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
_fe_analyzer_shared
:
7.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
analyzer
:
0.39.17
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
analyzer
:
0.39.17
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
async
:
2.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
boolean_selector
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
boolean_selector
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
cli_util
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
cli_util
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
clock
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
clock
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -75,21 +69,25 @@ dev_dependencies:
...
@@ -75,21 +69,25 @@ dev_dependencies:
package_config
:
1.9.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
package_config
:
1.9.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pedantic
:
1.10.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pedantic
:
1.10.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pool
:
1.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pool
:
1.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pub_semver
:
1.4.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf
:
0.7.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf
:
0.7.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_packages_handler
:
2.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_packages_handler
:
2.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_static
:
0.2.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_static
:
0.2.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_web_socket
:
0.2.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_web_socket
:
0.2.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_map_stack_trace
:
2.1.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_map_stack_trace
:
2.1.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_maps
:
0.10.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_maps
:
0.10.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_span
:
1.8.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_channel
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
string_scanner
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
string_scanner
:
1.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webkit_inspection_protocol
:
0.7.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webkit_inspection_protocol
:
0.7.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
flutter
:
flutter
:
uses-material-design
:
true
uses-material-design
:
true
# PUBSPEC CHECKSUM:
d4d0
# PUBSPEC CHECKSUM:
becb
dev/integration_tests/ios_platform_view_tests/pubspec.yaml
View file @
3ecac303
...
@@ -43,7 +43,6 @@ dev_dependencies:
...
@@ -43,7 +43,6 @@ dev_dependencies:
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
mime
:
0.9.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
mime
:
0.9.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -70,7 +69,6 @@ dev_dependencies:
...
@@ -70,7 +69,6 @@ dev_dependencies:
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -84,4 +82,4 @@ flutter:
...
@@ -84,4 +82,4 @@ flutter:
# the material Icons class.
# the material Icons class.
uses-material-design
:
true
uses-material-design
:
true
# PUBSPEC CHECKSUM:
a8e1
# PUBSPEC CHECKSUM:
b4dc
dev/integration_tests/platform_interaction/pubspec.yaml
View file @
3ecac303
...
@@ -33,7 +33,6 @@ dependencies:
...
@@ -33,7 +33,6 @@ dependencies:
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -63,7 +62,6 @@ dependencies:
...
@@ -63,7 +62,6 @@ dependencies:
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -73,4 +71,4 @@ dependencies:
...
@@ -73,4 +71,4 @@ dependencies:
flutter
:
flutter
:
uses-material-design
:
true
uses-material-design
:
true
# PUBSPEC CHECKSUM:
3a76
# PUBSPEC CHECKSUM:
5c71
dev/integration_tests/release_smoke_test/pubspec.yaml
View file @
3ecac303
...
@@ -30,10 +30,8 @@ dev_dependencies:
...
@@ -30,10 +30,8 @@ dev_dependencies:
crypto
:
2.1.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
crypto
:
2.1.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
fake_async
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
fake_async
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
file
:
6.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
file
:
6.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
path
:
1.8.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
path
:
1.8.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pub_semver
:
1.4.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_span
:
1.8.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_span
:
1.8.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stack_trace
:
1.10.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stack_trace
:
1.10.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_channel
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_channel
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -41,8 +39,7 @@ dev_dependencies:
...
@@ -41,8 +39,7 @@ dev_dependencies:
sync_http
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
sync_http
:
0.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
term_glyph
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
# PUBSPEC CHECKSUM:
6126
# PUBSPEC CHECKSUM:
a26a
dev/integration_tests/ui/pubspec.yaml
View file @
3ecac303
...
@@ -34,7 +34,6 @@ dependencies:
...
@@ -34,7 +34,6 @@ dependencies:
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -64,7 +63,6 @@ dependencies:
...
@@ -64,7 +63,6 @@ dependencies:
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -83,4 +81,4 @@ dev_dependencies:
...
@@ -83,4 +81,4 @@ dev_dependencies:
flutter
:
flutter
:
uses-material-design
:
true
uses-material-design
:
true
# PUBSPEC CHECKSUM:
5e11
# PUBSPEC CHECKSUM:
820c
dev/integration_tests/ui/test_driver/license_check_test.dart
View file @
3ecac303
...
@@ -2,13 +2,11 @@
...
@@ -2,13 +2,11 @@
// Use of this source code is governed by a BSD-style license that can be
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// found in the LICENSE file.
import
'dart:async'
;
import
'dart:io'
;
import
'dart:io'
;
import
'package:flutter_driver/flutter_driver.dart'
;
import
'package:flutter_driver/flutter_driver.dart'
;
import
'package:path/path.dart'
as
path
;
import
'package:path/path.dart'
as
path
;
import
'package:test/test.dart'
hide
TypeMatcher
,
isInstanceOf
;
import
'package:test/test.dart'
hide
TypeMatcher
,
isInstanceOf
;
import
'package:vm_service_client/vm_service_client.dart'
;
// Connect and disconnect from the empty app.
// Connect and disconnect from the empty app.
void
main
(
)
{
void
main
(
)
{
...
@@ -23,19 +21,15 @@ void main() {
...
@@ -23,19 +21,15 @@ void main() {
group
(
'License file check'
,
()
{
group
(
'License file check'
,
()
{
FlutterDriver
driver
;
FlutterDriver
driver
;
IsolatesWorkaround
workaround
;
setUpAll
(()
async
{
setUpAll
(()
async
{
driver
=
await
FlutterDriver
.
connect
();
driver
=
await
FlutterDriver
.
connect
();
workaround
=
IsolatesWorkaround
(
driver
);
await
workaround
.
resumeIsolates
();
await
driver
.
waitUntilFirstFrameRasterized
();
await
driver
.
waitUntilFirstFrameRasterized
();
});
});
tearDownAll
(()
async
{
tearDownAll
(()
async
{
if
(
driver
!=
null
)
{
if
(
driver
!=
null
)
{
await
driver
.
close
();
await
driver
.
close
();
await
workaround
.
tearDown
();
}
}
});
});
...
@@ -57,40 +51,3 @@ void main() {
...
@@ -57,40 +51,3 @@ void main() {
});
});
});
});
}
}
/// Workaround for isolates being paused by driver tests.
/// https://github.com/flutter/flutter/issues/24703
class
IsolatesWorkaround
{
IsolatesWorkaround
(
this
.
_driver
);
final
FlutterDriver
_driver
;
StreamSubscription
<
VMIsolateRef
>
_streamSubscription
;
Future
<
void
>
resumeIsolates
()
async
{
final
VM
vm
=
await
_driver
.
serviceClient
.
getVM
();
// Resume any paused isolate
for
(
final
VMIsolateRef
isolateRef
in
vm
.
isolates
)
{
final
VMIsolate
isolate
=
await
isolateRef
.
load
();
if
(
isolate
.
isPaused
)
{
isolate
.
resume
();
}
}
if
(
_streamSubscription
!=
null
)
{
return
;
}
_streamSubscription
=
_driver
.
serviceClient
.
onIsolateRunnable
.
asBroadcastStream
()
.
listen
((
VMIsolateRef
isolateRef
)
async
{
final
VMIsolate
isolate
=
await
isolateRef
.
load
();
if
(
isolate
.
isPaused
)
{
isolate
.
resume
();
}
});
}
Future
<
void
>
tearDown
()
async
{
if
(
_streamSubscription
!=
null
)
{
await
_streamSubscription
.
cancel
();
}
}
}
dev/integration_tests/web_e2e_tests/pubspec.yaml
View file @
3ecac303
...
@@ -44,7 +44,6 @@ dev_dependencies:
...
@@ -44,7 +44,6 @@ dev_dependencies:
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
mime
:
0.9.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
mime
:
0.9.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -71,11 +70,10 @@ dev_dependencies:
...
@@ -71,11 +70,10 @@ dev_dependencies:
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webkit_inspection_protocol
:
0.7.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webkit_inspection_protocol
:
0.7.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
# PUBSPEC CHECKSUM:
c598
# PUBSPEC CHECKSUM:
7093
examples/hello_world/pubspec.yaml
View file @
3ecac303
...
@@ -42,7 +42,6 @@ dev_dependencies:
...
@@ -42,7 +42,6 @@ dev_dependencies:
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
mime
:
0.9.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
mime
:
0.9.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -69,11 +68,10 @@ dev_dependencies:
...
@@ -69,11 +68,10 @@ dev_dependencies:
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webkit_inspection_protocol
:
0.7.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webkit_inspection_protocol
:
0.7.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
# PUBSPEC CHECKSUM:
a8e1
# PUBSPEC CHECKSUM:
b4dc
examples/platform_channel/pubspec.yaml
View file @
3ecac303
...
@@ -42,7 +42,6 @@ dev_dependencies:
...
@@ -42,7 +42,6 @@ dev_dependencies:
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
mime
:
0.9.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
mime
:
0.9.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -69,7 +68,6 @@ dev_dependencies:
...
@@ -69,7 +68,6 @@ dev_dependencies:
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -79,4 +77,4 @@ dev_dependencies:
...
@@ -79,4 +77,4 @@ dev_dependencies:
flutter
:
flutter
:
uses-material-design
:
true
uses-material-design
:
true
# PUBSPEC CHECKSUM:
a8e1
# PUBSPEC CHECKSUM:
b4dc
examples/platform_channel_swift/pubspec.yaml
View file @
3ecac303
...
@@ -42,7 +42,6 @@ dev_dependencies:
...
@@ -42,7 +42,6 @@ dev_dependencies:
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
http_parser
:
3.1.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
io
:
0.3.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
js
:
0.6.3-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
logging
:
0.11.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
mime
:
0.9.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
mime
:
0.9.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -69,7 +68,6 @@ dev_dependencies:
...
@@ -69,7 +68,6 @@ dev_dependencies:
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -79,4 +77,4 @@ dev_dependencies:
...
@@ -79,4 +77,4 @@ dev_dependencies:
flutter
:
flutter
:
uses-material-design
:
true
uses-material-design
:
true
# PUBSPEC CHECKSUM:
a8e1
# PUBSPEC CHECKSUM:
b4dc
packages/_flutter_web_build_script/pubspec.yaml
View file @
3ecac303
...
@@ -66,7 +66,7 @@ dependencies:
...
@@ -66,7 +66,7 @@ dependencies:
protobuf
:
1.0.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
protobuf
:
1.0.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pub_semver
:
1.4.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pub_semver
:
1.4.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pubspec_parse
:
0.1.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pubspec_parse
:
0.1.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
quiver
:
2.1.
3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
quiver
:
2.1.
4+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
scratch_space
:
0.0.4+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
scratch_space
:
0.0.4+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf
:
0.7.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf
:
0.7.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_packages_handler
:
2.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_packages_handler
:
2.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -93,4 +93,4 @@ dartdoc:
...
@@ -93,4 +93,4 @@ dartdoc:
# Exclude this package from the hosted API docs.
# Exclude this package from the hosted API docs.
nodoc
:
true
nodoc
:
true
# PUBSPEC CHECKSUM:
3d88
# PUBSPEC CHECKSUM:
dce5
packages/flutter_driver/lib/src/driver/driver.dart
View file @
3ecac303
...
@@ -6,9 +6,8 @@
...
@@ -6,9 +6,8 @@
import
'dart:io'
;
import
'dart:io'
;
import
'package:json_rpc_2/json_rpc_2.dart'
as
rpc
;
import
'package:meta/meta.dart'
;
import
'package:meta/meta.dart'
;
import
'package:vm_service
_client/vm_service_client.dart'
;
import
'package:vm_service
/vm_service.dart'
as
vms
;
import
'package:webdriver/async_io.dart'
as
async_io
;
import
'package:webdriver/async_io.dart'
as
async_io
;
import
'../common/diagnostics_tree.dart'
;
import
'../common/diagnostics_tree.dart'
;
...
@@ -92,53 +91,50 @@ abstract class FlutterDriver {
...
@@ -92,53 +91,50 @@ abstract class FlutterDriver {
FlutterDriver
();
FlutterDriver
();
/// Creates a driver that uses a connection provided by either the combination
/// Creates a driver that uses a connection provided by either the combination
/// of [webConnection], or the combination of [serviceClient]
,
/// of [webConnection], or the combination of [serviceClient]
and [appIsolate]
///
[peer] and [appIsolate]
///
for the VM.
@visibleForTesting
@visibleForTesting
factory
FlutterDriver
.
connectedTo
({
factory
FlutterDriver
.
connectedTo
({
FlutterWebConnection
webConnection
,
FlutterWebConnection
webConnection
,
VMServiceClient
serviceClient
,
vms
.
VmService
serviceClient
,
rpc
.
Peer
peer
,
vms
.
Isolate
appIsolate
,
VMIsolate
appIsolate
,
})
{
})
{
if
(
webConnection
!=
null
)
{
if
(
webConnection
!=
null
)
{
return
WebFlutterDriver
.
connectedTo
(
webConnection
);
return
WebFlutterDriver
.
connectedTo
(
webConnection
);
}
}
return
VMServiceFlutterDriver
.
connectedTo
(
serviceClient
,
peer
,
appIsolate
);
return
VMServiceFlutterDriver
.
connectedTo
(
serviceClient
,
appIsolate
);
}
}
/// Connects to a Flutter application.
/// Connects to a Flutter application.
///
///
/// Resumes the application if it is currently paused (e.g. at a breakpoint).
/// Resumes the application if it is currently paused (e.g. at a breakpoint).
///
///
/// `dartVmServiceUrl` is the URL to Dart observatory (a.k.a. VM service). If
/// The `dartVmServiceUrl` parameter is the URL to Dart observatory
/// not specified, the URL specified by the `VM_SERVICE_URL` environment
/// (a.k.a. VM service). If not specified, the URL specified by the
/// variable is used. One or the other must be specified.
/// `VM_SERVICE_URL` environment variable is used. One or the other must be
/// specified.
///
///
///
`printCommunication` determines whether the command communication between
///
The `printCommunication` parameter determines whether the command
/// the test and the app should be printed to stdout.
///
communication between
the test and the app should be printed to stdout.
///
///
/// `logCommunicationToFile` determines whether the command communication
/// The `logCommunicationToFile` parameter determines whether the command
/// between the test and the app should be logged to `flutter_driver_commands.log`.
/// communication between the test and the app should be logged to
/// `flutter_driver_commands.log`.
///
///
///
`isolateNumber` determines the specific isolate to connect to.
///
The `isolateNumber` parameter determines the specific isolate to connect
/// If this is left as `null`, will connect to the first isolate found
///
to.
If this is left as `null`, will connect to the first isolate found
/// running on `dartVmServiceUrl`.
/// running on `dartVmServiceUrl`.
///
///
///
`fuchsiaModuleTarget` specifies the pattern for determining which mod to
///
The `fuchsiaModuleTarget` parameter specifies the pattern for determining
///
control. When running on a Fuchsia device, either this or the environment
///
which mod to control. When running on a Fuchsia device, either this or the
///
variable `FUCHSIA_MODULE_TARGET` must be set (the environment variable is
///
environment variable `FUCHSIA_MODULE_TARGET` must be set (the environment
/// treated as a substring pattern). This field will be ignored if
///
variable is
treated as a substring pattern). This field will be ignored if
/// `isolateNumber` is set, as this is already enough information to connect
/// `isolateNumber` is set, as this is already enough information to connect
/// to an isolate.
/// to an isolate.
This parameter is ignored on non-fuchsia devices.
///
///
/// `headers` optionally specifies HTTP headers to be included in the
/// The `headers` parameter optionally specifies HTTP headers to be included
/// [WebSocket] connection. This is only used for [VMServiceFlutterDriver]
/// in the [WebSocket] connection. This is only used for
/// connections.
/// [VMServiceFlutterDriver] connections.
///
/// `browser` specifies which FlutterDriver implementation to use. If not
/// speicifed or set to false, [VMServiceFlutterDriver] implementation
/// will be used. Otherwise, [WebFlutterDriver] implementation will be used.
///
///
/// The return value is a future. This method never times out, though it may
/// The return value is a future. This method never times out, though it may
/// fail (completing with an error). A timeout can be applied by the caller
/// fail (completing with an error). A timeout can be applied by the caller
...
@@ -156,20 +152,20 @@ abstract class FlutterDriver {
...
@@ -156,20 +152,20 @@ abstract class FlutterDriver {
return
WebFlutterDriver
.
connectWeb
(
hostUrl:
dartVmServiceUrl
,
timeout:
timeout
);
return
WebFlutterDriver
.
connectWeb
(
hostUrl:
dartVmServiceUrl
,
timeout:
timeout
);
}
}
return
VMServiceFlutterDriver
.
connect
(
return
VMServiceFlutterDriver
.
connect
(
dartVmServiceUrl:
dartVmServiceUrl
,
dartVmServiceUrl:
dartVmServiceUrl
,
printCommunication:
printCommunication
,
printCommunication:
printCommunication
,
logCommunicationToFile:
logCommunicationToFile
,
logCommunicationToFile:
logCommunicationToFile
,
isolateNumber:
isolateNumber
,
isolateNumber:
isolateNumber
,
fuchsiaModuleTarget:
fuchsiaModuleTarget
,
fuchsiaModuleTarget:
fuchsiaModuleTarget
,
headers:
headers
,
headers:
headers
,
);
);
}
}
/// Getter of appIsolate.
/// Getter of appIsolate.
VM
Isolate
get
appIsolate
=>
throw
UnimplementedError
();
vms
.
Isolate
get
appIsolate
=>
throw
UnimplementedError
();
/// Getter of serviceClient.
/// Getter of serviceClient.
VMServiceClient
get
serviceClient
=>
throw
UnimplementedError
();
vms
.
VmService
get
serviceClient
=>
throw
UnimplementedError
();
/// Getter of webDriver.
/// Getter of webDriver.
async_io
.
WebDriver
get
webDriver
=>
throw
UnimplementedError
();
async_io
.
WebDriver
get
webDriver
=>
throw
UnimplementedError
();
...
...
packages/flutter_driver/lib/src/driver/vmservice_driver.dart
View file @
3ecac303
...
@@ -10,11 +10,9 @@ import 'dart:io';
...
@@ -10,11 +10,9 @@ import 'dart:io';
import
'package:file/file.dart'
as
f
;
import
'package:file/file.dart'
as
f
;
import
'package:fuchsia_remote_debug_protocol/fuchsia_remote_debug_protocol.dart'
as
fuchsia
;
import
'package:fuchsia_remote_debug_protocol/fuchsia_remote_debug_protocol.dart'
as
fuchsia
;
import
'package:json_rpc_2/json_rpc_2.dart'
as
rpc
;
import
'package:meta/meta.dart'
;
import
'package:meta/meta.dart'
;
import
'package:path/path.dart'
as
p
;
import
'package:path/path.dart'
as
p
;
import
'package:vm_service_client/vm_service_client.dart'
;
import
'package:vm_service/vm_service.dart'
as
vms
;
import
'package:web_socket_channel/io.dart'
;
import
'package:webdriver/async_io.dart'
as
async_io
;
import
'package:webdriver/async_io.dart'
as
async_io
;
import
'../../flutter_driver.dart'
;
import
'../../flutter_driver.dart'
;
...
@@ -29,16 +27,15 @@ import 'timeline.dart';
...
@@ -29,16 +27,15 @@ import 'timeline.dart';
/// An implementation of the Flutter Driver over the vmservice protocol.
/// An implementation of the Flutter Driver over the vmservice protocol.
class
VMServiceFlutterDriver
extends
FlutterDriver
{
class
VMServiceFlutterDriver
extends
FlutterDriver
{
/// Creates a driver that uses a connection provided by the given
/// Creates a driver that uses a connection provided by the given
/// [serviceClient]
, [_peer]
and [appIsolate].
/// [serviceClient] and [appIsolate].
VMServiceFlutterDriver
.
connectedTo
(
VMServiceFlutterDriver
.
connectedTo
(
this
.
_serviceClient
,
this
.
_serviceClient
,
this
.
_peer
,
this
.
_appIsolate
,
{
this
.
_appIsolate
,
{
bool
printCommunication
=
false
,
bool
printCommunication
=
false
,
bool
logCommunicationToFile
=
true
,
bool
logCommunicationToFile
=
true
,
})
:
_printCommunication
=
printCommunication
,
})
:
_printCommunication
=
printCommunication
,
_logCommunicationToFile
=
logCommunicationToFile
,
_logCommunicationToFile
=
logCommunicationToFile
,
_driverId
=
_nextDriverId
++;
_driverId
=
_nextDriverId
++;
/// Connects to a Flutter application.
/// Connects to a Flutter application.
///
///
...
@@ -66,14 +63,15 @@ class VMServiceFlutterDriver extends FlutterDriver {
...
@@ -66,14 +63,15 @@ class VMServiceFlutterDriver extends FlutterDriver {
if
(
fuchsiaModuleTarget
==
null
)
{
if
(
fuchsiaModuleTarget
==
null
)
{
throw
DriverError
(
throw
DriverError
(
'No Fuchsia module target has been specified.
\n
'
'No Fuchsia module target has been specified.
\n
'
'Please make sure to specify the FUCHSIA_MODULE_TARGET '
'Please make sure to specify the FUCHSIA_MODULE_TARGET '
'environment variable.'
'environment variable.'
);
);
}
}
final
fuchsia
.
FuchsiaRemoteConnection
fuchsiaConnection
=
final
fuchsia
.
FuchsiaRemoteConnection
fuchsiaConnection
=
await
FuchsiaCompat
.
connect
();
await
FuchsiaCompat
.
connect
();
final
List
<
fuchsia
.
IsolateRef
>
refs
=
await
fuchsiaConnection
.
getMainIsolatesByPattern
(
fuchsiaModuleTarget
);
final
List
<
fuchsia
.
IsolateRef
>
refs
=
if
(
refs
.
isEmpty
)
{
await
fuchsiaConnection
.
getMainIsolatesByPattern
(
fuchsiaModuleTarget
);
throw
DriverError
(
'Failed to get any isolate refs!'
);
}
final
fuchsia
.
IsolateRef
ref
=
refs
.
first
;
final
fuchsia
.
IsolateRef
ref
=
refs
.
first
;
isolateNumber
=
ref
.
number
;
isolateNumber
=
ref
.
number
;
dartVmServiceUrl
=
ref
.
dartVm
.
uri
.
toString
();
dartVmServiceUrl
=
ref
.
dartVm
.
uri
.
toString
();
...
@@ -86,21 +84,19 @@ class VMServiceFlutterDriver extends FlutterDriver {
...
@@ -86,21 +84,19 @@ class VMServiceFlutterDriver extends FlutterDriver {
if
(
dartVmServiceUrl
==
null
)
{
if
(
dartVmServiceUrl
==
null
)
{
throw
DriverError
(
throw
DriverError
(
'Could not determine URL to connect to application.
\n
'
'Could not determine URL to connect to application.
\n
'
'Either the VM_SERVICE_URL environment variable should be set, or an explicit '
'Either the VM_SERVICE_URL environment variable should be set, or an explicit '
'URL should be provided to the FlutterDriver.connect() method.'
'URL should be provided to the FlutterDriver.connect() method.'
);
);
}
}
// Connect to Dart VM services
// Connect to Dart VM services
_log
(
'Connecting to Flutter application at
$dartVmServiceUrl
'
);
_log
(
'Connecting to Flutter application at
$dartVmServiceUrl
'
);
final
VMServiceClientConnection
connection
=
final
vms
.
VmService
client
=
await
vmServiceConnectFunction
(
dartVmServiceUrl
,
headers
);
await
vmServiceConnectFunction
(
dartVmServiceUrl
,
headers:
headers
);
final
VMServiceClient
client
=
connection
.
client
;
Future
<
VM
IsolateRef
>
_waitForRootIsolate
()
async
{
Future
<
vms
.
IsolateRef
>
_waitForRootIsolate
()
async
{
bool
_checkIsolate
(
VMIsolateRef
ref
)
=>
ref
.
number
==
isolateNumber
;
bool
_checkIsolate
(
vms
.
IsolateRef
ref
)
=>
ref
.
number
==
isolateNumber
.
toString
()
;
while
(
true
)
{
while
(
true
)
{
final
VM
vm
=
await
client
.
getVM
();
final
vms
.
VM
vm
=
await
client
.
getVM
();
if
(
vm
.
isolates
.
isEmpty
||
(
isolateNumber
!=
null
&&
!
vm
.
isolates
.
any
(
_checkIsolate
)))
{
if
(
vm
.
isolates
.
isEmpty
||
(
isolateNumber
!=
null
&&
!
vm
.
isolates
.
any
(
_checkIsolate
)))
{
await
Future
<
void
>.
delayed
(
_kPauseBetweenReconnectAttempts
);
await
Future
<
void
>.
delayed
(
_kPauseBetweenReconnectAttempts
);
continue
;
continue
;
...
@@ -111,7 +107,7 @@ class VMServiceFlutterDriver extends FlutterDriver {
...
@@ -111,7 +107,7 @@ class VMServiceFlutterDriver extends FlutterDriver {
}
}
}
}
final
VMIsolateRef
isolateRef
=
await
_warnIfSlow
<
VM
IsolateRef
>(
final
vms
.
IsolateRef
isolateRef
=
await
_warnIfSlow
<
vms
.
IsolateRef
>(
future:
_waitForRootIsolate
(),
future:
_waitForRootIsolate
(),
timeout:
kUnusuallyLongTimeout
,
timeout:
kUnusuallyLongTimeout
,
message:
isolateNumber
==
null
message:
isolateNumber
==
null
...
@@ -119,60 +115,42 @@ class VMServiceFlutterDriver extends FlutterDriver {
...
@@ -119,60 +115,42 @@ class VMServiceFlutterDriver extends FlutterDriver {
:
'Isolate
$isolateNumber
is taking an unusually long time to start.'
,
:
'Isolate
$isolateNumber
is taking an unusually long time to start.'
,
);
);
_log
(
'Isolate found with number:
${isolateRef.number}
'
);
_log
(
'Isolate found with number:
${isolateRef.number}
'
);
vms
.
Isolate
isolate
=
await
client
.
getIsolate
(
isolateRef
.
id
);
VMIsolate
isolate
=
await
isolateRef
.
loadRunnable
();
if
(
isolate
.
pauseEvent
.
kind
==
vms
.
EventKind
.
kNone
)
{
isolate
=
await
client
.
getIsolate
(
isolateRef
.
id
);
// TODO(yjbanov): vm_service_client does not support "None" pause event yet.
// It is currently reported as null, but we cannot rely on it because
// eventually the event will be reported as a non-null object. For now,
// list all the events we know about. Later we'll check for "None" event
// explicitly.
//
// See: https://github.com/dart-lang/vm_service_client/issues/4
if
(
isolate
.
pauseEvent
is
!
VMPauseStartEvent
&&
isolate
.
pauseEvent
is
!
VMPauseExitEvent
&&
isolate
.
pauseEvent
is
!
VMPauseBreakpointEvent
&&
isolate
.
pauseEvent
is
!
VMPauseExceptionEvent
&&
isolate
.
pauseEvent
is
!
VMPauseInterruptedEvent
&&
isolate
.
pauseEvent
is
!
VMResumeEvent
)
{
isolate
=
await
isolateRef
.
loadRunnable
();
}
}
final
VMServiceFlutterDriver
driver
=
VMServiceFlutterDriver
.
connectedTo
(
final
VMServiceFlutterDriver
driver
=
VMServiceFlutterDriver
.
connectedTo
(
client
,
connection
.
peer
,
isolate
,
client
,
isolate
,
printCommunication:
printCommunication
,
printCommunication:
printCommunication
,
logCommunicationToFile:
logCommunicationToFile
,
logCommunicationToFile:
logCommunicationToFile
,
);
);
driver
.
_dartVmReconnectUrl
=
dartVmServiceUrl
;
// Attempts to resume the isolate, but does not crash if it fails because
// Attempts to resume the isolate, but does not crash if it fails because
// the isolate is already resumed. There could be a race with other tools,
// the isolate is already resumed. There could be a race with other tools,
// such as a debugger, any of which could have resumed the isolate.
// such as a debugger, any of which could have resumed the isolate.
Future
<
dynamic
>
resumeLeniently
()
async
{
Future
<
vms
.
Success
>
resumeLeniently
()
async
{
_log
(
'Attempting to resume isolate'
);
_log
(
'Attempting to resume isolate'
);
// Let subsequent isolates start automatically.
// Let subsequent isolates start automatically.
try
{
try
{
final
Map
<
String
,
dynamic
>
result
=
final
vms
.
Response
result
=
await
client
.
setFlag
(
'pause_isolates_on_start'
,
'false'
);
await
connection
.
peer
.
sendRequest
(
'setFlag'
,
<
String
,
String
>{
if
(
result
==
null
||
result
.
type
!=
'Success'
)
{
'name'
:
'pause_isolates_on_start'
,
'value'
:
'false'
,
})
as
Map
<
String
,
dynamic
>;
if
(
result
==
null
||
result
[
'type'
]
!=
'Success'
)
{
_log
(
'setFlag failure:
$result
'
);
_log
(
'setFlag failure:
$result
'
);
}
}
}
catch
(
e
)
{
}
catch
(
e
)
{
_log
(
'Failed to set pause_isolates_on_start=false, proceeding. Error:
$e
'
);
_log
(
'Failed to set pause_isolates_on_start=false, proceeding. Error:
$e
'
);
}
}
return
isolate
.
resume
(
).
catchError
((
dynamic
e
)
{
return
client
.
resume
(
isolate
.
id
).
catchError
((
dynamic
e
)
{
const
int
vmMustBePausedCode
=
101
;
const
int
vmMustBePausedCode
=
101
;
if
(
e
is
rpc
.
RpcException
&&
e
.
code
==
vmMustBePausedCode
)
{
if
(
e
is
vms
.
RPCError
&&
e
.
code
==
vmMustBePausedCode
)
{
// No biggie; something else must have resumed the isolate
// No biggie; something else must have resumed the isolate
_log
(
_log
(
'Attempted to resume an already resumed isolate. This may happen '
'Attempted to resume an already resumed isolate. This may happen '
'when we lose a race with another tool (usually a debugger) that
'
'when another tool (usually a debugger) resumed the isolate
'
'is connected to the same isolate
.'
'before the flutter_driver did
.'
);
);
}
else
{
}
else
{
// Failed to resume due to another reason. Fail hard.
// Failed to resume due to another reason. Fail hard.
...
@@ -186,10 +164,12 @@ class VMServiceFlutterDriver extends FlutterDriver {
...
@@ -186,10 +164,12 @@ class VMServiceFlutterDriver extends FlutterDriver {
/// Looks at the list of loaded extensions for the current [isolateRef], as
/// Looks at the list of loaded extensions for the current [isolateRef], as
/// well as the stream of added extensions.
/// well as the stream of added extensions.
Future
<
void
>
waitForServiceExtension
()
async
{
Future
<
void
>
waitForServiceExtension
()
async
{
final
Future
<
void
>
extensionAlreadyAdded
=
isolateRef
await
client
.
streamListen
(
vms
.
EventStreams
.
kIsolate
);
.
loadRunnable
()
.
then
((
VMIsolate
isolate
)
async
{
final
Future
<
void
>
extensionAlreadyAdded
=
client
if
(
isolate
.
extensionRpcs
.
contains
(
_flutterExtensionMethodName
))
{
.
getIsolate
(
isolateRef
.
id
)
.
then
((
vms
.
Isolate
isolate
)
async
{
if
(
isolate
.
extensionRPCs
.
contains
(
_flutterExtensionMethodName
))
{
return
;
return
;
}
}
// Never complete. Rely on the stream listener to find the service
// Never complete. Rely on the stream listener to find the service
...
@@ -198,60 +178,49 @@ class VMServiceFlutterDriver extends FlutterDriver {
...
@@ -198,60 +178,49 @@ class VMServiceFlutterDriver extends FlutterDriver {
});
});
final
Completer
<
void
>
extensionAdded
=
Completer
<
void
>();
final
Completer
<
void
>
extensionAdded
=
Completer
<
void
>();
StreamSubscription
<
String
>
isolateAddedSubscription
;
StreamSubscription
<
vms
.
Event
>
isolateAddedSubscription
;
isolateAddedSubscription
=
isolate
.
onExtensionAdded
.
listen
(
(
String
extensionName
)
{
isolateAddedSubscription
=
client
.
onIsolateEvent
.
listen
(
if
(
extensionName
==
_flutterExtensionMethodName
)
{
(
vms
.
Event
data
)
{
if
(
data
.
kind
==
vms
.
EventKind
.
kServiceExtensionAdded
&&
data
.
extensionRPC
==
_flutterExtensionMethodName
)
{
extensionAdded
.
complete
();
extensionAdded
.
complete
();
isolateAddedSubscription
.
cancel
();
isolateAddedSubscription
.
cancel
();
}
}
},
},
onError:
extensionAdded
.
completeError
,
onError:
extensionAdded
.
completeError
,
cancelOnError:
true
);
cancelOnError:
true
,
);
await
Future
.
any
(<
Future
<
void
>>[
await
Future
.
any
(<
Future
<
void
>>[
extensionAlreadyAdded
,
extensionAlreadyAdded
,
extensionAdded
.
future
,
extensionAdded
.
future
,
]);
]);
}
await
isolateAddedSubscription
.
cancel
();
await
client
.
streamCancel
(
vms
.
EventStreams
.
kIsolate
);
/// Tells the Dart VM Service to notify us about "Isolate" events.
///
/// This is a workaround for an issue in package:vm_service_client, which
/// subscribes to the "Isolate" stream lazily upon subscription, which
/// results in lost events.
///
/// Details: https://github.com/dart-lang/vm_service_client/issues/17
Future
<
void
>
enableIsolateStreams
()
async
{
await
connection
.
peer
.
sendRequest
(
'streamListen'
,
<
String
,
String
>{
'streamId'
:
'Isolate'
,
});
}
}
// Attempt to resume isolate if it was paused
// Attempt to resume isolate if it was paused
if
(
isolate
.
pauseEvent
is
VMPauseStartEven
t
)
{
if
(
isolate
.
pauseEvent
.
kind
==
vms
.
EventKind
.
kPauseStar
t
)
{
_log
(
'Isolate is paused at start.'
);
_log
(
'Isolate is paused at start.'
);
await
resumeLeniently
();
await
resumeLeniently
();
}
else
if
(
isolate
.
pauseEvent
is
VMPauseExitEven
t
||
}
else
if
(
isolate
.
pauseEvent
.
kind
==
vms
.
EventKind
.
kPauseExi
t
||
isolate
.
pauseEvent
is
VMPauseBreakpointEve
nt
||
isolate
.
pauseEvent
.
kind
==
vms
.
EventKind
.
kPauseBreakpoi
nt
||
isolate
.
pauseEvent
is
VMPauseExceptionEvent
||
isolate
.
pauseEvent
.
kind
==
vms
.
EventKind
.
kPauseException
||
isolate
.
pauseEvent
is
VMPauseInterruptedEvent
)
{
isolate
.
pauseEvent
.
kind
==
vms
.
EventKind
.
kPauseInterrupted
)
{
// If the isolate is paused for any other reason, assume the extension is
// If the isolate is paused for any other reason, assume the extension is
// already there.
// already there.
_log
(
'Isolate is paused mid-flight.'
);
_log
(
'Isolate is paused mid-flight.'
);
await
resumeLeniently
();
await
resumeLeniently
();
}
else
if
(
isolate
.
pauseEvent
is
VMResumeEvent
)
{
}
else
if
(
isolate
.
pauseEvent
.
kind
==
vms
.
EventKind
.
kResume
)
{
_log
(
'Isolate is not paused. Assuming application is ready.'
);
_log
(
'Isolate is not paused. Assuming application is ready.'
);
}
else
{
}
else
{
_log
(
_log
(
'Unknown pause event type
${isolate.pauseEvent.runtimeType}
. '
'Unknown pause event type
${isolate.pauseEvent.runtimeType}
. '
'Assuming application is ready.'
'Assuming application is ready.'
);
);
}
}
await
enableIsolateStreams
();
// We will never receive the extension event if the user does not register
// We will never receive the extension event if the user does not register
// it. If that happens, show a message but continue waiting.
// it. If that happens, show a message but continue waiting.
await
_warnIfSlow
<
void
>(
await
_warnIfSlow
<
void
>(
...
@@ -265,7 +234,8 @@ class VMServiceFlutterDriver extends FlutterDriver {
...
@@ -265,7 +234,8 @@ class VMServiceFlutterDriver extends FlutterDriver {
final
Health
health
=
await
driver
.
checkHealth
();
final
Health
health
=
await
driver
.
checkHealth
();
if
(
health
.
status
!=
HealthStatus
.
ok
)
{
if
(
health
.
status
!=
HealthStatus
.
ok
)
{
await
client
.
close
();
client
.
dispose
();
await
client
.
onDone
;
throw
DriverError
(
'Flutter application health check failed.'
);
throw
DriverError
(
'Flutter application health check failed.'
);
}
}
...
@@ -276,9 +246,6 @@ class VMServiceFlutterDriver extends FlutterDriver {
...
@@ -276,9 +246,6 @@ class VMServiceFlutterDriver extends FlutterDriver {
static
int
_nextDriverId
=
0
;
static
int
_nextDriverId
=
0
;
static
const
String
_flutterExtensionMethodName
=
'ext.flutter.driver'
;
static
const
String
_flutterExtensionMethodName
=
'ext.flutter.driver'
;
static
const
String
_setVMTimelineFlagsMethodName
=
'setVMTimelineFlags'
;
static
const
String
_getVMTimelineMethodName
=
'getVMTimeline'
;
static
const
String
_clearVMTimelineMethodName
=
'clearVMTimeline'
;
static
const
String
_collectAllGarbageMethodName
=
'_collectAllGarbage'
;
static
const
String
_collectAllGarbageMethodName
=
'_collectAllGarbage'
;
// The additional blank line in the beginning is for _log.
// The additional blank line in the beginning is for _log.
...
@@ -299,42 +266,19 @@ class VMServiceFlutterDriver extends FlutterDriver {
...
@@ -299,42 +266,19 @@ class VMServiceFlutterDriver extends FlutterDriver {
/// The unique ID of this driver instance.
/// The unique ID of this driver instance.
final
int
_driverId
;
final
int
_driverId
;
@override
vms
.
Isolate
get
appIsolate
=>
_appIsolate
;
/// Client connected to the Dart VM running the Flutter application.
/// Client connected to the Dart VM running the Flutter application.
///
///
/// You can use [VMServiceClient] to check VM version, flags and get
/// You can use [VMServiceClient] to check VM version, flags and get
/// notified when a new isolate has been instantiated. That could be
/// notified when a new isolate has been instantiated. That could be
/// useful if your application spawns multiple isolates that you
/// useful if your application spawns multiple isolates that you
/// would like to instrument.
/// would like to instrument.
final
VMServiceClient
_serviceClient
;
final
vms
.
VmService
_serviceClient
;
/// JSON-RPC client useful for sending raw JSON requests.
rpc
.
Peer
_peer
;
String
_dartVmReconnectUrl
;
Future
<
void
>
_restorePeerConnectionIfNeeded
()
async
{
if
(!
_peer
.
isClosed
||
_dartVmReconnectUrl
==
null
)
{
return
;
}
_log
(
'Peer connection is closed! Trying to restore the connection...'
);
final
String
webSocketUrl
=
_getWebSocketUrl
(
_dartVmReconnectUrl
);
final
WebSocket
ws
=
await
WebSocket
.
connect
(
webSocketUrl
);
ws
.
done
.
whenComplete
(()
=>
_checkCloseCode
(
ws
));
_peer
=
rpc
.
Peer
(
IOWebSocketChannel
(
ws
).
cast
(),
onUnhandledError:
_unhandledJsonRpcError
,
)..
listen
();
}
@override
VMIsolate
get
appIsolate
=>
_appIsolate
;
@override
@override
VMServiceClient
get
serviceClient
=>
_serviceClient
;
vms
.
VmService
get
serviceClient
=>
_serviceClient
;
@override
@override
async_io
.
WebDriver
get
webDriver
=>
throw
UnsupportedError
(
'VMServiceFlutterDriver does not support webDriver'
);
async_io
.
WebDriver
get
webDriver
=>
throw
UnsupportedError
(
'VMServiceFlutterDriver does not support webDriver'
);
...
@@ -342,9 +286,9 @@ class VMServiceFlutterDriver extends FlutterDriver {
...
@@ -342,9 +286,9 @@ class VMServiceFlutterDriver extends FlutterDriver {
/// The main isolate hosting the Flutter application.
/// The main isolate hosting the Flutter application.
///
///
/// If you used the [registerExtension] API to instrument your application,
/// If you used the [registerExtension] API to instrument your application,
/// you can use this [
VM
Isolate] to call these extension methods via
/// you can use this [
vms.
Isolate] to call these extension methods via
/// [invokeExtension].
/// [invokeExtension].
final
VM
Isolate
_appIsolate
;
final
vms
.
Isolate
_appIsolate
;
/// Whether to print communication between host and app to `stdout`.
/// Whether to print communication between host and app to `stdout`.
final
bool
_printCommunication
;
final
bool
_printCommunication
;
...
@@ -363,10 +307,11 @@ class VMServiceFlutterDriver extends FlutterDriver {
...
@@ -363,10 +307,11 @@ class VMServiceFlutterDriver extends FlutterDriver {
try
{
try
{
final
Map
<
String
,
String
>
serialized
=
command
.
serialize
();
final
Map
<
String
,
String
>
serialized
=
command
.
serialize
();
_logCommunication
(
'>>>
$serialized
'
);
_logCommunication
(
'>>>
$serialized
'
);
final
Future
<
Map
<
String
,
dynamic
>>
future
=
_
appIsolate
.
invok
eExtension
(
final
Future
<
Map
<
String
,
dynamic
>>
future
=
_
serviceClient
.
callServic
eExtension
(
_flutterExtensionMethodName
,
_flutterExtensionMethodName
,
serialized
,
isolateId:
_appIsolate
.
id
,
).
then
<
Map
<
String
,
dynamic
>>((
Object
value
)
=>
value
as
Map
<
String
,
dynamic
>);
args:
serialized
,
).
then
<
Map
<
String
,
dynamic
>>((
vms
.
Response
value
)
=>
value
.
json
);
response
=
await
_warnIfSlow
<
Map
<
String
,
dynamic
>>(
response
=
await
_warnIfSlow
<
Map
<
String
,
dynamic
>>(
future:
future
,
future:
future
,
timeout:
command
.
timeout
??
kUnusuallyLongTimeout
,
timeout:
command
.
timeout
??
kUnusuallyLongTimeout
,
...
@@ -399,21 +344,20 @@ class VMServiceFlutterDriver extends FlutterDriver {
...
@@ -399,21 +344,20 @@ class VMServiceFlutterDriver extends FlutterDriver {
Future
<
List
<
int
>>
screenshot
()
async
{
Future
<
List
<
int
>>
screenshot
()
async
{
await
Future
<
void
>.
delayed
(
const
Duration
(
seconds:
2
));
await
Future
<
void
>.
delayed
(
const
Duration
(
seconds:
2
));
final
Map
<
String
,
dynamic
>
result
=
await
_peer
.
sendRequest
(
'_flutter.screenshot'
)
as
Map
<
String
,
dynamic
>
;
final
vms
.
Response
result
=
await
_serviceClient
.
callMethod
(
'_flutter.screenshot'
)
;
return
base64
.
decode
(
result
[
'screenshot'
]
as
String
);
return
base64
.
decode
(
result
.
json
[
'screenshot'
]
as
String
);
}
}
@override
@override
Future
<
List
<
Map
<
String
,
dynamic
>>>
getVmFlags
()
async
{
Future
<
List
<
Map
<
String
,
dynamic
>>>
getVmFlags
()
async
{
await
_restorePeerConnectionIfNeeded
();
final
vms
.
FlagList
result
=
await
_serviceClient
.
getFlagList
();
final
Map
<
String
,
dynamic
>
result
=
await
_peer
.
sendRequest
(
'getFlagList'
)
as
Map
<
String
,
dynamic
>;
return
result
!=
null
return
result
!=
null
?
(
result
[
'flags'
]
as
List
<
dynamic
>).
cast
<
Map
<
String
,
dynamic
>>
()
?
result
.
flags
.
map
((
vms
.
Flag
flag
)
=>
flag
.
toJson
()).
toList
()
:
const
<
Map
<
String
,
dynamic
>>[];
:
const
<
Map
<
String
,
dynamic
>>[];
}
}
Future
<
Map
<
String
,
Object
>
>
_getVMTimelineMicros
()
async
{
Future
<
vms
.
Timestamp
>
_getVMTimelineMicros
()
async
{
return
await
_
peer
.
sendRequest
(
'getVMTimelineMicros'
)
as
Map
<
String
,
dynamic
>
;
return
await
_
serviceClient
.
getVMTimelineMicros
()
;
}
}
@override
@override
...
@@ -424,10 +368,10 @@ class VMServiceFlutterDriver extends FlutterDriver {
...
@@ -424,10 +368,10 @@ class VMServiceFlutterDriver extends FlutterDriver {
assert
(
streams
!=
null
&&
streams
.
isNotEmpty
);
assert
(
streams
!=
null
&&
streams
.
isNotEmpty
);
assert
(
timeout
!=
null
);
assert
(
timeout
!=
null
);
try
{
try
{
await
_warnIfSlow
<
v
oid
>(
await
_warnIfSlow
<
v
ms
.
Success
>(
future:
_
peer
.
sendRequest
(
_setVMTimelineFlagsMethodName
,
<
String
,
String
>{
future:
_
serviceClient
.
setVMTimelineFlags
(
'recordedStreams'
:
_timelineStreamsToString
(
streams
),
_timelineStreamsToString
(
streams
),
}
),
),
timeout:
timeout
,
timeout:
timeout
,
message:
'VM is taking an unusually long time to respond to being told to start tracing...'
,
message:
'VM is taking an unusually long time to respond to being told to start tracing...'
,
);
);
...
@@ -451,26 +395,27 @@ class VMServiceFlutterDriver extends FlutterDriver {
...
@@ -451,26 +395,27 @@ class VMServiceFlutterDriver extends FlutterDriver {
(
startTime
!=
null
&&
endTime
!=
null
));
(
startTime
!=
null
&&
endTime
!=
null
));
try
{
try
{
await
_warnIfSlow
<
v
oid
>(
await
_warnIfSlow
<
v
ms
.
Success
>(
future:
_
peer
.
sendRequest
(
_setVMTimelineFlagsMethodName
,
<
String
,
String
>{
'recordedStreams'
:
'[]'
}
),
future:
_
serviceClient
.
setVMTimelineFlags
(
const
<
String
>[]
),
timeout:
timeout
,
timeout:
timeout
,
message:
'VM is taking an unusually long time to respond to being told to stop tracing...'
,
message:
'VM is taking an unusually long time to respond to being told to stop tracing...'
,
);
);
if
(
startTime
==
null
)
{
if
(
startTime
==
null
)
{
return
Timeline
.
fromJson
(
await
_peer
.
sendRequest
(
_getVMTimelineMethodName
)
as
Map
<
String
,
dynamic
>);
final
vms
.
Timeline
timeline
=
await
_serviceClient
.
getVMTimeline
();
return
Timeline
.
fromJson
(
timeline
.
json
);
}
}
const
int
kSecondInMicros
=
1000000
;
const
int
kSecondInMicros
=
1000000
;
int
currentStart
=
startTime
;
int
currentStart
=
startTime
;
int
currentEnd
=
startTime
+
kSecondInMicros
;
// 1 second of timeline
int
currentEnd
=
startTime
+
kSecondInMicros
;
// 1 second of timeline
final
List
<
Map
<
String
,
Object
>>
chunks
=
<
Map
<
String
,
Object
>>[];
final
List
<
Map
<
String
,
Object
>>
chunks
=
<
Map
<
String
,
Object
>>[];
do
{
do
{
final
Map
<
String
,
Object
>
chunk
=
await
_peer
.
sendRequest
(
_getVMTimelineMethodName
,
<
String
,
Object
>{
final
vms
.
Timeline
chunk
=
await
_serviceClient
.
getVMTimeline
(
'timeOriginMicros'
:
currentStart
,
timeOriginMicros
:
currentStart
,
// The range is inclusive, avoid double counting on the chance something
// The range is inclusive, avoid double counting on the chance something
// aligns on the boundary.
// aligns on the boundary.
'timeExtentMicros'
:
kSecondInMicros
-
1
,
timeExtentMicros
:
kSecondInMicros
-
1
,
})
as
Map
<
String
,
dynamic
>
;
)
;
chunks
.
add
(
chunk
);
chunks
.
add
(
chunk
.
json
);
currentStart
=
currentEnd
;
currentStart
=
currentEnd
;
currentEnd
+=
kSecondInMicros
;
currentEnd
+=
kSecondInMicros
;
}
while
(
currentStart
<
endTime
);
}
while
(
currentStart
<
endTime
);
...
@@ -518,18 +463,18 @@ class VMServiceFlutterDriver extends FlutterDriver {
...
@@ -518,18 +463,18 @@ class VMServiceFlutterDriver extends FlutterDriver {
await
clearTimeline
();
await
clearTimeline
();
final
Map
<
String
,
Object
>
startTimestamp
=
await
_getVMTimelineMicros
();
final
vms
.
Timestamp
startTimestamp
=
await
_getVMTimelineMicros
();
await
startTracing
(
streams:
streams
);
await
startTracing
(
streams:
streams
);
await
action
();
await
action
();
final
Map
<
String
,
Object
>
endTimestamp
=
await
_getVMTimelineMicros
();
final
vms
.
Timestamp
endTimestamp
=
await
_getVMTimelineMicros
();
if
(!(
await
_isPrecompiledMode
()))
{
if
(!(
await
_isPrecompiledMode
()))
{
_log
(
_kDebugWarning
);
_log
(
_kDebugWarning
);
}
}
return
stopTracingAndDownloadTimeline
(
return
stopTracingAndDownloadTimeline
(
startTime:
startTimestamp
[
'timestamp'
]
as
int
,
startTime:
startTimestamp
.
timestamp
,
endTime:
endTimestamp
[
'timestamp'
]
as
int
,
endTime:
endTimestamp
.
timestamp
,
);
);
}
}
...
@@ -539,8 +484,8 @@ class VMServiceFlutterDriver extends FlutterDriver {
...
@@ -539,8 +484,8 @@ class VMServiceFlutterDriver extends FlutterDriver {
})
async
{
})
async
{
assert
(
timeout
!=
null
);
assert
(
timeout
!=
null
);
try
{
try
{
await
_warnIfSlow
<
v
oid
>(
await
_warnIfSlow
<
v
ms
.
Success
>(
future:
_
peer
.
sendRequest
(
_clearVMTimelineMethodName
,
<
String
,
String
>{}
),
future:
_
serviceClient
.
clearVMTimeline
(
),
timeout:
timeout
,
timeout:
timeout
,
message:
'VM is taking an unusually long time to respond to being told to clear its timeline buffer...'
,
message:
'VM is taking an unusually long time to respond to being told to clear its timeline buffer...'
,
);
);
...
@@ -568,10 +513,7 @@ class VMServiceFlutterDriver extends FlutterDriver {
...
@@ -568,10 +513,7 @@ class VMServiceFlutterDriver extends FlutterDriver {
@override
@override
Future
<
void
>
forceGC
()
async
{
Future
<
void
>
forceGC
()
async
{
try
{
try
{
await
_peer
await
_serviceClient
.
callMethod
(
_collectAllGarbageMethodName
,
isolateId:
_appIsolate
.
id
);
.
sendRequest
(
_collectAllGarbageMethodName
,
<
String
,
String
>{
'isolateId'
:
'isolates/
${_appIsolate.numberAsString}
'
,
});
}
catch
(
error
,
stackTrace
)
{
}
catch
(
error
,
stackTrace
)
{
throw
DriverError
(
throw
DriverError
(
'Failed to force a GC due to remote error'
,
'Failed to force a GC due to remote error'
,
...
@@ -583,9 +525,8 @@ class VMServiceFlutterDriver extends FlutterDriver {
...
@@ -583,9 +525,8 @@ class VMServiceFlutterDriver extends FlutterDriver {
@override
@override
Future
<
void
>
close
()
async
{
Future
<
void
>
close
()
async
{
// Don't leak vm_service_client-specific objects, if any
_serviceClient
.
dispose
();
await
_serviceClient
.
close
();
await
_serviceClient
.
onDone
;
await
_peer
.
close
();
}
}
}
}
...
@@ -601,40 +542,6 @@ void restoreVmServiceConnectFunction() {
...
@@ -601,40 +542,6 @@ void restoreVmServiceConnectFunction() {
vmServiceConnectFunction
=
_waitAndConnect
;
vmServiceConnectFunction
=
_waitAndConnect
;
}
}
/// The JSON RPC 2 spec says that a notification from a client must not respond
/// to the client. It's possible the client sent a notification as a "ping", but
/// the service isn't set up yet to respond.
///
/// For example, if the client sends a notification message to the server for
/// 'streamNotify', but the server has not finished loading, it will throw an
/// exception. Since the message is a notification, the server follows the
/// specification and does not send a response back, but is left with an
/// unhandled exception. That exception is safe for us to ignore - the client
/// is signaling that it will try again later if it doesn't get what it wants
/// here by sending a notification.
// This may be ignoring too many exceptions. It would be best to rewrite
// the client code to not use notifications so that it gets error replies back
// and can decide what to do from there.
// TODO(dnfield): https://github.com/flutter/flutter/issues/31813
bool
_ignoreRpcError
(
dynamic
error
)
{
if
(
error
is
rpc
.
RpcException
)
{
final
rpc
.
RpcException
exception
=
error
;
return
exception
.
data
==
null
||
exception
.
data
[
'id'
]
==
null
;
}
else
if
(
error
is
String
&&
error
.
startsWith
(
'JSON-RPC error -32601'
))
{
return
true
;
}
return
false
;
}
void
_unhandledJsonRpcError
(
dynamic
error
,
dynamic
stack
)
{
if
(
_ignoreRpcError
(
error
))
{
return
;
}
_log
(
'Unhandled RPC error:
\n
$error
\n
$stack
'
);
// TODO(dnfield): https://github.com/flutter/flutter/issues/31813
// assert(false);
}
String
_getWebSocketUrl
(
String
url
)
{
String
_getWebSocketUrl
(
String
url
)
{
Uri
uri
=
Uri
.
parse
(
url
);
Uri
uri
=
Uri
.
parse
(
url
);
final
List
<
String
>
pathSegments
=
<
String
>[
final
List
<
String
>
pathSegments
=
<
String
>[
...
@@ -647,40 +554,30 @@ String _getWebSocketUrl(String url) {
...
@@ -647,40 +554,30 @@ String _getWebSocketUrl(String url) {
return
uri
.
toString
();
return
uri
.
toString
();
}
}
void
_checkCloseCode
(
WebSocket
ws
)
{
if
(
ws
.
closeCode
!=
1000
&&
ws
.
closeCode
!=
null
)
{
_log
(
'
$ws
is closed with an unexpected code
${ws.closeCode}
'
);
}
}
/// Waits for a real Dart VM service to become available, then connects using
/// Waits for a real Dart VM service to become available, then connects using
/// the [VMServiceClient].
/// the [VMServiceClient].
Future
<
VMServiceClientConnection
>
_waitAndConnect
(
Future
<
vms
.
VmService
>
_waitAndConnect
(
String
url
,
Map
<
String
,
dynamic
>
headers
)
async
{
String
url
,
{
Map
<
String
,
dynamic
>
headers
})
async
{
final
String
webSocketUrl
=
_getWebSocketUrl
(
url
);
final
String
webSocketUrl
=
_getWebSocketUrl
(
url
);
int
attempts
=
0
;
int
attempts
=
0
;
while
(
true
)
{
while
(
true
)
{
WebSocket
ws1
;
WebSocket
ws2
;
try
{
try
{
ws1
=
await
WebSocket
.
connect
(
webSocketUrl
,
headers:
headers
);
final
WebSocket
socket
=
await
WebSocket
.
connect
(
webSocketUrl
,
headers:
headers
);
ws2
=
await
WebSocket
.
connect
(
webSocketUrl
,
headers:
headers
);
final
vms
.
VmService
service
=
vms
.
VmService
(
socket
,
ws1
.
done
.
whenComplete
(()
=>
_checkCloseCode
(
ws1
));
socket
.
add
,
ws2
.
done
.
whenComplete
(()
=>
_checkCloseCode
(
ws2
));
log:
null
,
disposeHandler:
()
async
{
return
VMServiceClientConnection
(
await
socket
.
close
();
VMServiceClient
(
IOWebSocketChannel
(
ws1
).
cast
()),
},
rpc
.
Peer
(
IOWebSocketChannel
(
ws2
).
cast
(),
onUnhandledError:
_unhandledJsonRpcError
,
)..
listen
(),
);
);
// This call is to ensure we are able to establish a connection instead of
// keeping on trucking and failing farther down the process.
await
service
.
getVersion
();
return
service
;
}
catch
(
e
)
{
}
catch
(
e
)
{
await
ws1
?.
close
();
if
(
attempts
>
5
)
{
await
ws2
?.
close
();
if
(
attempts
>
5
)
_log
(
'It is taking an unusually long time to connect to the VM...'
);
_log
(
'It is taking an unusually long time to connect to the VM...'
);
}
attempts
+=
1
;
attempts
+=
1
;
await
Future
<
void
>.
delayed
(
_kPauseBetweenReconnectAttempts
);
await
Future
<
void
>.
delayed
(
_kPauseBetweenReconnectAttempts
);
}
}
...
@@ -694,8 +591,8 @@ const Duration _kPauseBetweenReconnectAttempts = Duration(seconds: 1);
...
@@ -694,8 +591,8 @@ const Duration _kPauseBetweenReconnectAttempts = Duration(seconds: 1);
// See `timeline_streams` in
// See `timeline_streams` in
// https://github.com/dart-lang/sdk/blob/master/runtime/vm/timeline.cc
// https://github.com/dart-lang/sdk/blob/master/runtime/vm/timeline.cc
String
_timelineStreamsToString
(
List
<
TimelineStream
>
streams
)
{
List
<
String
>
_timelineStreamsToString
(
List
<
TimelineStream
>
streams
)
{
final
String
contents
=
streams
.
map
<
String
>((
TimelineStream
stream
)
{
return
streams
.
map
<
String
>((
TimelineStream
stream
)
{
switch
(
stream
)
{
switch
(
stream
)
{
case
TimelineStream
.
all
:
return
'all'
;
case
TimelineStream
.
all
:
return
'all'
;
case
TimelineStream
.
api
:
return
'API'
;
case
TimelineStream
.
api
:
return
'API'
;
...
@@ -710,8 +607,7 @@ String _timelineStreamsToString(List<TimelineStream> streams) {
...
@@ -710,8 +607,7 @@ String _timelineStreamsToString(List<TimelineStream> streams) {
default
:
default
:
throw
'Unknown timeline stream
$stream
'
;
throw
'Unknown timeline stream
$stream
'
;
}
}
}).
join
(
', '
);
}).
toList
();
return
'[
$contents
]'
;
}
}
void
_log
(
String
message
)
{
void
_log
(
String
message
)
{
...
@@ -736,24 +632,5 @@ Future<T> _warnIfSlow<T>({
...
@@ -736,24 +632,5 @@ Future<T> _warnIfSlow<T>({
return
future
;
return
future
;
}
}
/// Encapsulates connection information to an instance of a Flutter application.
/// A function that connects to a Dart VM service given the `url` and `headers`.
@visibleForTesting
typedef
VMServiceConnectFunction
=
Future
<
vms
.
VmService
>
Function
(
String
url
,
Map
<
String
,
dynamic
>
headers
);
class
VMServiceClientConnection
{
/// Creates an instance of this class given a [client] and a [peer].
VMServiceClientConnection
(
this
.
client
,
this
.
peer
);
/// Use this for structured access to the VM service's public APIs.
final
VMServiceClient
client
;
/// Use this to make arbitrary raw JSON-RPC calls.
///
/// This object allows reaching into private VM service APIs. Use with
/// caution.
final
rpc
.
Peer
peer
;
}
/// A function that connects to a Dart VM service
/// with [headers] given the [url].
typedef
VMServiceConnectFunction
=
Future
<
VMServiceClientConnection
>
Function
(
String
url
,
{
Map
<
String
,
dynamic
>
headers
});
packages/flutter_driver/lib/src/driver/web_driver.dart
View file @
3ecac303
...
@@ -9,7 +9,7 @@ import 'dart:io';
...
@@ -9,7 +9,7 @@ import 'dart:io';
import
'package:matcher/matcher.dart'
;
import
'package:matcher/matcher.dart'
;
import
'package:meta/meta.dart'
;
import
'package:meta/meta.dart'
;
import
'package:vm_service
_client/vm_service_client.dart'
;
import
'package:vm_service
/vm_service.dart'
as
vms
;
import
'package:webdriver/async_io.dart'
as
async_io
;
import
'package:webdriver/async_io.dart'
as
async_io
;
import
'package:webdriver/support/async.dart'
;
import
'package:webdriver/support/async.dart'
;
...
@@ -38,10 +38,10 @@ class WebFlutterDriver extends FlutterDriver {
...
@@ -38,10 +38,10 @@ class WebFlutterDriver extends FlutterDriver {
DateTime
get
startTime
=>
_startTime
;
DateTime
get
startTime
=>
_startTime
;
@override
@override
VM
Isolate
get
appIsolate
=>
throw
UnsupportedError
(
'WebFlutterDriver does not support appIsolate'
);
vms
.
Isolate
get
appIsolate
=>
throw
UnsupportedError
(
'WebFlutterDriver does not support appIsolate'
);
@override
@override
VMServiceClient
get
serviceClient
=>
throw
UnsupportedError
(
'WebFlutterDriver does not support serviceClient'
);
vms
.
VmService
get
serviceClient
=>
throw
UnsupportedError
(
'WebFlutterDriver does not support serviceClient'
);
@override
@override
async_io
.
WebDriver
get
webDriver
=>
_connection
.
_driver
;
async_io
.
WebDriver
get
webDriver
=>
_connection
.
_driver
;
...
...
packages/flutter_driver/pubspec.yaml
View file @
3ecac303
...
@@ -9,11 +9,9 @@ environment:
...
@@ -9,11 +9,9 @@ environment:
dependencies
:
dependencies
:
file
:
6.0.0-nullsafety.3
file
:
6.0.0-nullsafety.3
json_rpc_2
:
2.2.2
meta
:
1.3.0-nullsafety.5
meta
:
1.3.0-nullsafety.5
path
:
1.8.0-nullsafety.2
path
:
1.8.0-nullsafety.2
web_socket_channel
:
1.1.0
vm_service
:
4.2.0
vm_service_client
:
0.2.6+2
webdriver
:
2.1.2
webdriver
:
2.1.2
flutter
:
flutter
:
sdk
:
flutter
sdk
:
flutter
...
@@ -33,10 +31,10 @@ dependencies:
...
@@ -33,10 +31,10 @@ dependencies:
convert
:
2.1.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
convert
:
2.1.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
crypto
:
2.1.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
crypto
:
2.1.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
fake_async
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
fake_async
:
1.2.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
json_rpc_2
:
2.2.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
matcher
:
0.12.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
platform
:
3.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
platform
:
3.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
process
:
4.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
process
:
4.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pub_semver
:
1.4.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_span
:
1.8.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_span
:
1.8.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stack_trace
:
1.10.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stack_trace
:
1.10.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_channel
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_channel
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -46,9 +44,9 @@ dependencies:
...
@@ -46,9 +44,9 @@ dependencies:
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
web_socket_channel
:
1.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
dev_dependencies
:
dev_dependencies
:
mockito
:
4.1.1
quiver
:
2.1.4+1
quiver
:
2.1.3
# PUBSPEC CHECKSUM:
9a64
# PUBSPEC CHECKSUM:
23ae
packages/flutter_driver/test/common.dart
View file @
3ecac303
...
@@ -11,6 +11,7 @@ import 'package:test_api/test_api.dart' hide TypeMatcher, isInstanceOf; // ignor
...
@@ -11,6 +11,7 @@ import 'package:test_api/test_api.dart' hide TypeMatcher, isInstanceOf; // ignor
import
'package:test_api/test_api.dart'
as
test_package
show
TypeMatcher
;
// ignore: deprecated_member_use
import
'package:test_api/test_api.dart'
as
test_package
show
TypeMatcher
;
// ignore: deprecated_member_use
export
'package:test_api/test_api.dart'
hide
TypeMatcher
,
isInstanceOf
;
// ignore: deprecated_member_use
export
'package:test_api/test_api.dart'
hide
TypeMatcher
,
isInstanceOf
;
// ignore: deprecated_member_use
export
'package:test_api/fake.dart'
;
// ignore: deprecated_member_use
// Defines a 'package:test' shim.
// Defines a 'package:test' shim.
// TODO(ianh): Clean this up once https://github.com/dart-lang/matcher/issues/98 is fixed
// TODO(ianh): Clean this up once https://github.com/dart-lang/matcher/issues/98 is fixed
...
@@ -31,3 +32,6 @@ void tryToDelete(Directory directory) {
...
@@ -31,3 +32,6 @@ void tryToDelete(Directory directory) {
/// Matcher for functions that throw [DriverError].
/// Matcher for functions that throw [DriverError].
final
Matcher
throwsDriverError
=
throwsA
(
isA
<
DriverError
>());
final
Matcher
throwsDriverError
=
throwsA
(
isA
<
DriverError
>());
/// Matcher for functions that throw [AssertionError].
final
Matcher
throwsAssertionError
=
throwsA
(
isA
<
AssertionError
>());
packages/flutter_driver/test/flutter_driver_test.dart
View file @
3ecac303
...
@@ -13,9 +13,7 @@ import 'package:flutter_driver/src/common/layer_tree.dart';
...
@@ -13,9 +13,7 @@ import 'package:flutter_driver/src/common/layer_tree.dart';
import
'package:flutter_driver/src/common/wait.dart'
;
import
'package:flutter_driver/src/common/wait.dart'
;
import
'package:flutter_driver/src/driver/driver.dart'
;
import
'package:flutter_driver/src/driver/driver.dart'
;
import
'package:flutter_driver/src/driver/timeline.dart'
;
import
'package:flutter_driver/src/driver/timeline.dart'
;
import
'package:json_rpc_2/json_rpc_2.dart'
as
rpc
;
import
'package:vm_service/vm_service.dart'
as
vms
;
import
'package:mockito/mockito.dart'
;
import
'package:vm_service_client/vm_service_client.dart'
;
import
'package:quiver/testing/async.dart'
;
import
'package:quiver/testing/async.dart'
;
import
'common.dart'
;
import
'common.dart'
;
...
@@ -33,10 +31,9 @@ void main() {
...
@@ -33,10 +31,9 @@ void main() {
};
};
group
(
'VMServiceFlutterDriver.connect'
,
()
{
group
(
'VMServiceFlutterDriver.connect'
,
()
{
MockVMServiceClient
mockClient
;
FakeVmService
fakeClient
;
MockVM
mockVM
;
FakeVM
fakeVM
;
MockIsolate
mockIsolate
;
FakeIsolate
fakeIsolate
;
MockPeer
mockPeer
;
void
expectLogContains
(
String
message
)
{
void
expectLogContains
(
String
message
)
{
expect
(
log
,
anyElement
(
contains
(
message
)));
expect
(
log
,
anyElement
(
contains
(
message
)));
...
@@ -44,65 +41,92 @@ void main() {
...
@@ -44,65 +41,92 @@ void main() {
setUp
(()
{
setUp
(()
{
log
.
clear
();
log
.
clear
();
mockClient
=
MockVMServiceClient
();
fakeIsolate
=
FakeIsolate
();
mockVM
=
MockVM
();
fakeVM
=
FakeVM
(
fakeIsolate
);
mockIsolate
=
MockIsolate
();
fakeClient
=
FakeVmService
(
fakeVM
);
mockPeer
=
MockPeer
();
vmServiceConnectFunction
=
(
String
url
,
Map
<
String
,
dynamic
>
headers
)
async
{
when
(
mockClient
.
getVM
()).
thenAnswer
((
_
)
=>
Future
<
MockVM
>.
value
(
mockVM
));
return
fakeClient
;
when
(
mockVM
.
isolates
).
thenReturn
(<
VMRunnableIsolate
>[
mockIsolate
]);
when
(
mockIsolate
.
loadRunnable
()).
thenAnswer
((
_
)
=>
Future
<
MockIsolate
>.
value
(
mockIsolate
));
when
(
mockIsolate
.
extensionRpcs
).
thenReturn
(<
String
>[]);
when
(
mockIsolate
.
onExtensionAdded
).
thenAnswer
((
Invocation
invocation
)
{
return
Stream
<
String
>.
fromIterable
(<
String
>[
'ext.flutter.driver'
]);
});
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
(
(
Invocation
invocation
)
=>
makeMockResponse
(<
String
,
dynamic
>{
'status'
:
'ok'
}));
vmServiceConnectFunction
=
(
String
url
,
{
Map
<
String
,
dynamic
>
headers
})
{
return
Future
<
VMServiceClientConnection
>.
value
(
VMServiceClientConnection
(
mockClient
,
mockPeer
)
);
};
};
fakeClient
.
responses
[
'get_health'
]
=
makeFakeResponse
(<
String
,
dynamic
>{
'status'
:
'ok'
});
});
});
tearDown
(()
async
{
tearDown
(()
async
{
restoreVmServiceConnectFunction
();
restoreVmServiceConnectFunction
();
});
});
test
(
'connects to isolate paused at start'
,
()
async
{
final
List
<
String
>
connectionLog
=
<
String
>[];
test
(
'throws after retries if no isolate'
,
()
async
{
when
(
mockPeer
.
sendRequest
(
'streamListen'
,
any
)).
thenAnswer
((
Invocation
invocation
)
{
fakeVM
.
numberOfTriesBeforeResolvingIsolate
=
10000
;
connectionLog
.
add
(
'streamListen'
);
FakeAsync
().
run
((
FakeAsync
time
)
{
return
null
;
FlutterDriver
.
connect
(
dartVmServiceUrl:
''
);
});
time
.
elapse
(
kUnusuallyLongTimeout
);
when
(
mockPeer
.
sendRequest
(
'setFlag'
,
any
)).
thenAnswer
((
Invocation
invocation
)
{
connectionLog
.
add
(
'setFlag'
);
return
null
;
});
when
(
mockIsolate
.
pauseEvent
).
thenReturn
(
MockVMPauseStartEvent
());
when
(
mockIsolate
.
resume
()).
thenAnswer
((
Invocation
invocation
)
{
connectionLog
.
add
(
'resume'
);
return
Future
<
dynamic
>.
value
(
null
);
});
when
(
mockIsolate
.
onExtensionAdded
).
thenAnswer
((
Invocation
invocation
)
{
connectionLog
.
add
(
'onExtensionAdded'
);
return
Stream
<
String
>.
fromIterable
(<
String
>[
'ext.flutter.driver'
]);
});
});
expect
(
log
,
<
String
>[
'VMServiceFlutterDriver: Connecting to Flutter application at '
,
'VMServiceFlutterDriver: The root isolate is taking an unuusally long time to start.'
,
]);
});
test
(
'Retries connections if isolate is not available'
,
()
async
{
fakeIsolate
.
pauseEvent
=
vms
.
Event
(
kind:
vms
.
EventKind
.
kPauseStart
,
timestamp:
0
);
fakeVM
.
numberOfTriesBeforeResolvingIsolate
=
5
;
final
FlutterDriver
driver
=
await
FlutterDriver
.
connect
(
dartVmServiceUrl:
''
);
expect
(
driver
,
isNotNull
);
expect
(
fakeClient
.
connectionLog
,
<
String
>[
'getIsolate'
,
'setFlag pause_isolates_on_start false'
,
'resume'
,
'streamListen Isolate'
,
'getIsolate'
,
'onIsolateEvent'
,
'streamCancel Isolate'
,
],
);
});
test
(
'Connects to isolate number'
,
()
async
{
fakeIsolate
.
pauseEvent
=
vms
.
Event
(
kind:
vms
.
EventKind
.
kPauseStart
,
timestamp:
0
);
final
FlutterDriver
driver
=
await
FlutterDriver
.
connect
(
dartVmServiceUrl:
''
,
isolateNumber:
int
.
parse
(
fakeIsolate
.
number
));
expect
(
driver
,
isNotNull
);
expect
(
fakeClient
.
connectionLog
,
<
String
>[
'getIsolate'
,
'setFlag pause_isolates_on_start false'
,
'resume'
,
'streamListen Isolate'
,
'getIsolate'
,
'onIsolateEvent'
,
'streamCancel Isolate'
,
],
);
});
test
(
'connects to isolate paused at start'
,
()
async
{
fakeIsolate
.
pauseEvent
=
vms
.
Event
(
kind:
vms
.
EventKind
.
kPauseStart
,
timestamp:
0
);
final
FlutterDriver
driver
=
await
FlutterDriver
.
connect
(
dartVmServiceUrl:
''
);
final
FlutterDriver
driver
=
await
FlutterDriver
.
connect
(
dartVmServiceUrl:
''
);
expect
(
driver
,
isNotNull
);
expect
(
driver
,
isNotNull
);
expectLogContains
(
'Isolate is paused at start'
);
expectLogContains
(
'Isolate is paused at start'
);
expect
(
connectionLog
,
<
String
>[
'setFlag'
,
'resume'
,
'streamListen'
,
'onExtensionAdded'
]);
expect
(
fakeClient
.
connectionLog
,
<
String
>[
'getIsolate'
,
'setFlag pause_isolates_on_start false'
,
'resume'
,
'streamListen Isolate'
,
'getIsolate'
,
'onIsolateEvent'
,
'streamCancel Isolate'
,
],
);
});
});
test
(
'ignores setFlag failure'
,
()
async
{
test
(
'ignores setFlag failure'
,
()
async
{
when
(
mockPeer
.
sendRequest
(
'setFlag'
,
any
)).
thenThrow
(
Exception
(
'setFlag failed'
));
fakeIsolate
.
pauseEvent
=
vms
.
Event
(
kind:
vms
.
EventKind
.
kPauseStart
,
timestamp:
0
);
when
(
mockIsolate
.
pauseEvent
).
thenReturn
(
MockVMPauseStartEvent
());
fakeClient
.
failOnSetFlag
=
true
;
when
(
mockIsolate
.
resume
()).
thenAnswer
((
Invocation
invocation
)
{
return
Future
<
dynamic
>.
value
(
null
);
});
when
(
mockIsolate
.
onExtensionAdded
).
thenAnswer
((
Invocation
invocation
)
{
return
Stream
<
String
>.
fromIterable
(<
String
>[
'ext.flutter.driver'
]);
});
final
FlutterDriver
driver
=
await
FlutterDriver
.
connect
(
dartVmServiceUrl:
''
);
final
FlutterDriver
driver
=
await
FlutterDriver
.
connect
(
dartVmServiceUrl:
''
);
expectLogContains
(
'Failed to set pause_isolates_on_start=false, proceeding. '
expectLogContains
(
'Failed to set pause_isolates_on_start=false, proceeding. '
...
@@ -112,8 +136,7 @@ void main() {
...
@@ -112,8 +136,7 @@ void main() {
test
(
'connects to isolate paused mid-flight'
,
()
async
{
test
(
'connects to isolate paused mid-flight'
,
()
async
{
when
(
mockIsolate
.
pauseEvent
).
thenReturn
(
MockVMPauseBreakpointEvent
());
fakeIsolate
.
pauseEvent
=
vms
.
Event
(
kind:
vms
.
EventKind
.
kPauseBreakpoint
,
timestamp:
0
);
when
(
mockIsolate
.
resume
()).
thenAnswer
((
Invocation
invocation
)
=>
Future
<
dynamic
>.
value
(
null
));
final
FlutterDriver
driver
=
await
FlutterDriver
.
connect
(
dartVmServiceUrl:
''
);
final
FlutterDriver
driver
=
await
FlutterDriver
.
connect
(
dartVmServiceUrl:
''
);
expect
(
driver
,
isNotNull
);
expect
(
driver
,
isNotNull
);
...
@@ -125,12 +148,8 @@ void main() {
...
@@ -125,12 +148,8 @@ void main() {
// we do. There's no need to fail as we should be able to drive the app
// we do. There's no need to fail as we should be able to drive the app
// just fine.
// just fine.
test
(
'connects despite losing the race to resume isolate'
,
()
async
{
test
(
'connects despite losing the race to resume isolate'
,
()
async
{
when
(
mockIsolate
.
pauseEvent
).
thenReturn
(
MockVMPauseBreakpointEvent
());
fakeIsolate
.
pauseEvent
=
vms
.
Event
(
kind:
vms
.
EventKind
.
kPauseBreakpoint
,
timestamp:
0
);
when
(
mockIsolate
.
resume
()).
thenAnswer
((
Invocation
invocation
)
{
fakeClient
.
failOnResumeWith101
=
true
;
// This needs to be wrapped in a closure to not be considered uncaught
// by package:test
return
Future
<
dynamic
>.
error
(
rpc
.
RpcException
(
101
,
''
));
});
final
FlutterDriver
driver
=
await
FlutterDriver
.
connect
(
dartVmServiceUrl:
''
);
final
FlutterDriver
driver
=
await
FlutterDriver
.
connect
(
dartVmServiceUrl:
''
);
expect
(
driver
,
isNotNull
);
expect
(
driver
,
isNotNull
);
...
@@ -138,7 +157,8 @@ void main() {
...
@@ -138,7 +157,8 @@ void main() {
});
});
test
(
'connects to unpaused isolate'
,
()
async
{
test
(
'connects to unpaused isolate'
,
()
async
{
when
(
mockIsolate
.
pauseEvent
).
thenReturn
(
MockVMResumeEvent
());
fakeIsolate
.
pauseEvent
=
vms
.
Event
(
kind:
vms
.
EventKind
.
kResume
,
timestamp:
0
);
final
FlutterDriver
driver
=
await
FlutterDriver
.
connect
(
dartVmServiceUrl:
''
);
final
FlutterDriver
driver
=
await
FlutterDriver
.
connect
(
dartVmServiceUrl:
''
);
expect
(
driver
,
isNotNull
);
expect
(
driver
,
isNotNull
);
expectLogContains
(
'Isolate is not paused. Assuming application is ready.'
);
expectLogContains
(
'Isolate is not paused. Assuming application is ready.'
);
...
@@ -146,56 +166,38 @@ void main() {
...
@@ -146,56 +166,38 @@ void main() {
test
(
'connects to unpaused when onExtensionAdded does not contain the '
test
(
'connects to unpaused when onExtensionAdded does not contain the '
'driver extension'
,
()
async
{
'driver extension'
,
()
async
{
when
(
mockIsolate
.
pauseEvent
).
thenReturn
(
MockVMResumeEvent
());
fakeIsolate
.
pauseEvent
=
vms
.
Event
(
kind:
vms
.
EventKind
.
kResume
,
timestamp:
0
);
when
(
mockIsolate
.
extensionRpcs
).
thenReturn
(<
String
>[
'ext.flutter.driver'
]);
fakeIsolate
.
extensionRPCs
.
add
(
'ext.flutter.driver'
);
when
(
mockIsolate
.
onExtensionAdded
).
thenAnswer
((
Invocation
invocation
)
{
return
const
Stream
<
String
>.
empty
();
});
final
FlutterDriver
driver
=
await
FlutterDriver
.
connect
(
dartVmServiceUrl:
''
);
final
FlutterDriver
driver
=
await
FlutterDriver
.
connect
(
dartVmServiceUrl:
''
);
expect
(
driver
,
isNotNull
);
expect
(
driver
,
isNotNull
);
expectLogContains
(
'Isolate is not paused. Assuming application is ready.'
);
expectLogContains
(
'Isolate is not paused. Assuming application is ready.'
);
});
});
test
(
'connects with headers'
,
()
async
{
Map
<
String
,
dynamic
>
actualHeaders
;
vmServiceConnectFunction
=
(
String
url
,
{
Map
<
String
,
dynamic
>
headers
})
{
actualHeaders
=
headers
;
return
Future
<
VMServiceClientConnection
>.
value
(
VMServiceClientConnection
(
mockClient
,
mockPeer
)
);
};
final
Map
<
String
,
String
>
expectedHeaders
=
<
String
,
String
>{
'header-key'
:
'header-value'
};
final
FlutterDriver
driver
=
await
FlutterDriver
.
connect
(
dartVmServiceUrl:
''
,
headers:
expectedHeaders
);
expect
(
driver
,
isNotNull
);
expect
(
actualHeaders
,
equals
(
expectedHeaders
));
});
});
});
group
(
'VMServiceFlutterDriver'
,
()
{
group
(
'VMServiceFlutterDriver'
,
()
{
MockVMServiceClient
mock
Client
;
FakeVmService
fake
Client
;
MockPeer
mockPeer
;
FakeVM
fakeVM
;
MockIsolate
mock
Isolate
;
FakeIsolate
fake
Isolate
;
VMServiceFlutterDriver
driver
;
VMServiceFlutterDriver
driver
;
setUp
(()
{
setUp
(()
{
mockClient
=
MockVMServiceClient
();
fakeIsolate
=
FakeIsolate
();
mockPeer
=
MockPeer
();
fakeVM
=
FakeVM
(
fakeIsolate
);
mockIsolate
=
MockIsolate
();
fakeClient
=
FakeVmService
(
fakeVM
);
driver
=
VMServiceFlutterDriver
.
connectedTo
(
mockClient
,
mockPeer
,
mockIsolate
);
driver
=
VMServiceFlutterDriver
.
connectedTo
(
fakeClient
,
fakeIsolate
);
fakeClient
.
responses
[
'tap'
]
=
makeFakeResponse
(<
String
,
dynamic
>{});
});
});
test
(
'checks the health of the driver extension'
,
()
async
{
test
(
'checks the health of the driver extension'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
(
fakeClient
.
responses
[
'get_health'
]
=
makeFakeResponse
(<
String
,
dynamic
>{
'status'
:
'ok'
});
(
Invocation
invocation
)
=>
makeMockResponse
(<
String
,
dynamic
>{
'status'
:
'ok'
}));
final
Health
result
=
await
driver
.
checkHealth
();
final
Health
result
=
await
driver
.
checkHealth
();
expect
(
result
.
status
,
HealthStatus
.
ok
);
expect
(
result
.
status
,
HealthStatus
.
ok
);
});
});
test
(
'closes connection'
,
()
async
{
test
(
'closes connection'
,
()
async
{
when
(
mockClient
.
close
()).
thenAnswer
((
Invocation
invocation
)
=>
Future
<
dynamic
>.
value
(
null
));
await
driver
.
close
();
await
driver
.
close
();
expect
(
fakeClient
.
connectionLog
.
last
,
'dispose'
);
});
});
group
(
'ByValueKey'
,
()
{
group
(
'ByValueKey'
,
()
{
...
@@ -204,482 +206,281 @@ void main() {
...
@@ -204,482 +206,281 @@ void main() {
});
});
test
(
'finds by ValueKey'
,
()
async
{
test
(
'finds by ValueKey'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
expect
(
i
.
positionalArguments
[
1
],
<
String
,
String
>{
'command'
:
'tap'
,
'timeout'
:
_kSerializedTestTimeout
,
'finderType'
:
'ByValueKey'
,
'keyValueString'
:
'foo'
,
'keyValueType'
:
'String'
,
});
return
makeMockResponse
(<
String
,
dynamic
>{});
});
await
driver
.
tap
(
find
.
byValueKey
(
'foo'
),
timeout:
_kTestTimeout
);
await
driver
.
tap
(
find
.
byValueKey
(
'foo'
),
timeout:
_kTestTimeout
);
expect
(
fakeClient
.
commandLog
,
<
String
>[
'ext.flutter.driver {command: tap, timeout:
$_kSerializedTestTimeout
, finderType: ByValueKey, keyValueString: foo, keyValueType: String}'
,
]);
});
});
});
});
group
(
'BySemanticsLabel'
,
()
{
group
(
'BySemanticsLabel'
,
()
{
test
(
'finds by Semantic label using String'
,
()
async
{
test
(
'finds by Semantic label using String'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
expect
(
i
.
positionalArguments
[
1
],
<
String
,
String
>{
'command'
:
'tap'
,
'timeout'
:
_kSerializedTestTimeout
,
'finderType'
:
'BySemanticsLabel'
,
'label'
:
'foo'
,
});
return
makeMockResponse
(<
String
,
dynamic
>{});
});
await
driver
.
tap
(
find
.
bySemanticsLabel
(
'foo'
),
timeout:
_kTestTimeout
);
await
driver
.
tap
(
find
.
bySemanticsLabel
(
'foo'
),
timeout:
_kTestTimeout
);
expect
(
fakeClient
.
commandLog
,
<
String
>[
'ext.flutter.driver {command: tap, timeout:
$_kSerializedTestTimeout
, finderType: BySemanticsLabel, label: foo}'
,
]);
});
});
test
(
'finds by Semantic label using RegExp'
,
()
async
{
test
(
'finds by Semantic label using RegExp'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
expect
(
i
.
positionalArguments
[
1
],
<
String
,
String
>{
'command'
:
'tap'
,
'timeout'
:
_kSerializedTestTimeout
,
'finderType'
:
'BySemanticsLabel'
,
'label'
:
'^foo'
,
'isRegExp'
:
'true'
,
});
return
makeMockResponse
(<
String
,
dynamic
>{});
});
await
driver
.
tap
(
find
.
bySemanticsLabel
(
RegExp
(
'^foo'
)),
timeout:
_kTestTimeout
);
await
driver
.
tap
(
find
.
bySemanticsLabel
(
RegExp
(
'^foo'
)),
timeout:
_kTestTimeout
);
expect
(
fakeClient
.
commandLog
,
<
String
>[
'ext.flutter.driver {command: tap, timeout:
$_kSerializedTestTimeout
, finderType: BySemanticsLabel, label: ^foo, isRegExp: true}'
,
]);
});
});
});
});
group
(
'tap'
,
()
{
group
(
'tap'
,
()
{
test
(
'requires a target reference'
,
()
async
{
test
(
'requires a target reference'
,
()
async
{
expect
(
driver
.
tap
(
null
),
throws
Driver
Error
);
expect
(
driver
.
tap
(
null
),
throws
Assertion
Error
);
});
});
test
(
'sends the tap command'
,
()
async
{
test
(
'sends the tap command'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
expect
(
i
.
positionalArguments
[
1
],
<
String
,
dynamic
>{
'command'
:
'tap'
,
'timeout'
:
_kSerializedTestTimeout
,
'finderType'
:
'ByText'
,
'text'
:
'foo'
,
});
return
makeMockResponse
(<
String
,
dynamic
>{});
});
await
driver
.
tap
(
find
.
text
(
'foo'
),
timeout:
_kTestTimeout
);
await
driver
.
tap
(
find
.
text
(
'foo'
),
timeout:
_kTestTimeout
);
expect
(
fakeClient
.
commandLog
,
<
String
>[
'ext.flutter.driver {command: tap, timeout:
$_kSerializedTestTimeout
, finderType: ByText, text: foo}'
,
]);
});
});
});
});
group
(
'getText'
,
()
{
group
(
'getText'
,
()
{
test
(
'requires a target reference'
,
()
async
{
test
(
'requires a target reference'
,
()
async
{
expect
(
driver
.
getText
(
null
),
throws
Driver
Error
);
expect
(
driver
.
getText
(
null
),
throws
Assertion
Error
);
});
});
test
(
'sends the getText command'
,
()
async
{
test
(
'sends the getText command'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
fakeClient
.
responses
[
'get_text'
]
=
makeFakeResponse
(<
String
,
dynamic
>{
'text'
:
'hello'
});
expect
(
i
.
positionalArguments
[
1
],
<
String
,
dynamic
>{
'command'
:
'get_text'
,
'timeout'
:
_kSerializedTestTimeout
,
'finderType'
:
'ByValueKey'
,
'keyValueString'
:
'123'
,
'keyValueType'
:
'int'
,
});
return
makeMockResponse
(<
String
,
String
>{
'text'
:
'hello'
,
});
});
final
String
result
=
await
driver
.
getText
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
final
String
result
=
await
driver
.
getText
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
expect
(
result
,
'hello'
);
expect
(
result
,
'hello'
);
expect
(
fakeClient
.
commandLog
,
<
String
>[
'ext.flutter.driver {command: get_text, timeout:
$_kSerializedTestTimeout
, finderType: ByValueKey, keyValueString: 123, keyValueType: int}'
,
]);
});
});
});
});
group
(
'getLayerTree'
,
()
{
group
(
'getLayerTree'
,
()
{
test
(
'sends the getLayerTree command'
,
()
async
{
test
(
'sends the getLayerTree command'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
fakeClient
.
responses
[
'get_layer_tree'
]
=
makeFakeResponse
(<
String
,
String
>{
expect
(
i
.
positionalArguments
[
1
],
<
String
,
dynamic
>{
'tree'
:
'hello'
,
'command'
:
'get_layer_tree'
,
'timeout'
:
_kSerializedTestTimeout
,
});
return
makeMockResponse
(<
String
,
String
>{
'tree'
:
'hello'
,
});
});
});
final
LayerTree
result
=
await
driver
.
getLayerTree
(
timeout:
_kTestTimeout
);
final
LayerTree
result
=
await
driver
.
getLayerTree
(
timeout:
_kTestTimeout
);
final
LayerTree
referenceTree
=
LayerTree
.
fromJson
(<
String
,
String
>{
final
LayerTree
referenceTree
=
LayerTree
.
fromJson
(<
String
,
String
>{
'tree'
:
'hello'
,
'tree'
:
'hello'
,
});
});
expect
(
result
.
tree
,
referenceTree
.
tree
);
expect
(
result
.
tree
,
referenceTree
.
tree
);
expect
(
fakeClient
.
commandLog
,
<
String
>[
'ext.flutter.driver {command: get_layer_tree, timeout:
$_kSerializedTestTimeout
}'
,
]);
});
});
});
});
group
(
'waitFor'
,
()
{
group
(
'waitFor'
,
()
{
test
(
'requires a target reference'
,
()
async
{
test
(
'requires a target reference'
,
()
async
{
expect
(
driver
.
waitFor
(
null
),
throws
Driver
Error
);
expect
(
driver
.
waitFor
(
null
),
throws
Assertion
Error
);
});
});
test
(
'sends the waitFor command'
,
()
async
{
test
(
'sends the waitFor command'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
fakeClient
.
responses
[
'waitFor'
]
=
makeFakeResponse
(<
String
,
dynamic
>{});
expect
(
i
.
positionalArguments
[
1
],
<
String
,
dynamic
>{
'command'
:
'waitFor'
,
'finderType'
:
'ByTooltipMessage'
,
'text'
:
'foo'
,
'timeout'
:
_kSerializedTestTimeout
,
});
return
makeMockResponse
(<
String
,
dynamic
>{});
});
await
driver
.
waitFor
(
find
.
byTooltip
(
'foo'
),
timeout:
_kTestTimeout
);
await
driver
.
waitFor
(
find
.
byTooltip
(
'foo'
),
timeout:
_kTestTimeout
);
expect
(
fakeClient
.
commandLog
,
<
String
>[
'ext.flutter.driver {command: waitFor, timeout:
$_kSerializedTestTimeout
, finderType: ByTooltipMessage, text: foo}'
,
]);
});
});
});
});
group
(
'getWidgetDiagnostics'
,
()
{
group
(
'getWidgetDiagnostics'
,
()
{
test
(
'sends the getWidgetDiagnostics command'
,
()
async
{
test
(
'sends the getWidgetDiagnostics command'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
fakeClient
.
responses
[
'get_diagnostics_tree'
]
=
makeFakeResponse
(<
String
,
dynamic
>{});
expect
(
i
.
positionalArguments
[
1
],
<
String
,
dynamic
>{
'command'
:
'get_diagnostics_tree'
,
'diagnosticsType'
:
'widget'
,
'finderType'
:
'ByTooltipMessage'
,
'text'
:
'foo'
,
'includeProperties'
:
'true'
,
'subtreeDepth'
:
'0'
,
'timeout'
:
_kSerializedTestTimeout
,
});
return
makeMockResponse
(<
String
,
dynamic
>{});
});
await
driver
.
getWidgetDiagnostics
(
find
.
byTooltip
(
'foo'
),
timeout:
_kTestTimeout
);
await
driver
.
getWidgetDiagnostics
(
find
.
byTooltip
(
'foo'
),
timeout:
_kTestTimeout
);
expect
(
fakeClient
.
commandLog
,
<
String
>[
'ext.flutter.driver {command: get_diagnostics_tree, timeout:
$_kSerializedTestTimeout
, finderType: ByTooltipMessage, text: foo, subtreeDepth: 0, includeProperties: true, diagnosticsType: widget}'
,
]);
});
});
});
});
group
(
'getRenderObjectDiagnostics'
,
()
{
group
(
'getRenderObjectDiagnostics'
,
()
{
test
(
'sends the getRenderObjectDiagnostics command'
,
()
async
{
test
(
'sends the getRenderObjectDiagnostics command'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
fakeClient
.
responses
[
'get_diagnostics_tree'
]
=
makeFakeResponse
(<
String
,
dynamic
>{});
expect
(
i
.
positionalArguments
[
1
],
<
String
,
dynamic
>{
'command'
:
'get_diagnostics_tree'
,
'diagnosticsType'
:
'renderObject'
,
'finderType'
:
'ByTooltipMessage'
,
'text'
:
'foo'
,
'includeProperties'
:
'true'
,
'subtreeDepth'
:
'0'
,
'timeout'
:
_kSerializedTestTimeout
,
});
return
makeMockResponse
(<
String
,
dynamic
>{});
});
await
driver
.
getRenderObjectDiagnostics
(
find
.
byTooltip
(
'foo'
),
timeout:
_kTestTimeout
);
await
driver
.
getRenderObjectDiagnostics
(
find
.
byTooltip
(
'foo'
),
timeout:
_kTestTimeout
);
expect
(
fakeClient
.
commandLog
,
<
String
>[
'ext.flutter.driver {command: get_diagnostics_tree, timeout:
$_kSerializedTestTimeout
, finderType: ByTooltipMessage, text: foo, subtreeDepth: 0, includeProperties: true, diagnosticsType: renderObject}'
,
]);
});
});
});
});
group
(
'waitForCondition'
,
()
{
group
(
'waitForCondition'
,
()
{
test
(
'sends the wait for NoPendingFrameCondition command'
,
()
async
{
test
(
'sends the wait for NoPendingFrameCondition command'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
fakeClient
.
responses
[
'waitForCondition'
]
=
makeFakeResponse
(<
String
,
dynamic
>{});
expect
(
i
.
positionalArguments
[
1
],
<
String
,
dynamic
>{
'command'
:
'waitForCondition'
,
'timeout'
:
_kSerializedTestTimeout
,
'conditionName'
:
'NoPendingFrameCondition'
,
});
return
makeMockResponse
(<
String
,
dynamic
>{});
});
await
driver
.
waitForCondition
(
const
NoPendingFrame
(),
timeout:
_kTestTimeout
);
await
driver
.
waitForCondition
(
const
NoPendingFrame
(),
timeout:
_kTestTimeout
);
expect
(
fakeClient
.
commandLog
,
<
String
>[
'ext.flutter.driver {command: waitForCondition, timeout:
$_kSerializedTestTimeout
, conditionName: NoPendingFrameCondition}'
,
]);
});
});
test
(
'sends the wait for NoPendingPlatformMessages command'
,
()
async
{
test
(
'sends the wait for NoPendingPlatformMessages command'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
fakeClient
.
responses
[
'waitForCondition'
]
=
makeFakeResponse
(<
String
,
dynamic
>{});
expect
(
i
.
positionalArguments
[
1
],
<
String
,
dynamic
>{
'command'
:
'waitForCondition'
,
'timeout'
:
_kSerializedTestTimeout
,
'conditionName'
:
'NoPendingPlatformMessagesCondition'
,
});
return
makeMockResponse
(<
String
,
dynamic
>{});
});
await
driver
.
waitForCondition
(
const
NoPendingPlatformMessages
(),
timeout:
_kTestTimeout
);
await
driver
.
waitForCondition
(
const
NoPendingPlatformMessages
(),
timeout:
_kTestTimeout
);
expect
(
fakeClient
.
commandLog
,
<
String
>[
'ext.flutter.driver {command: waitForCondition, timeout:
$_kSerializedTestTimeout
, conditionName: NoPendingPlatformMessagesCondition}'
,
]);
});
});
test
(
'sends the waitForCondition of combined conditions command'
,
()
async
{
test
(
'sends the waitForCondition of combined conditions command'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
fakeClient
.
responses
[
'waitForCondition'
]
=
makeFakeResponse
(<
String
,
dynamic
>{});
expect
(
i
.
positionalArguments
[
1
],
<
String
,
dynamic
>{
'command'
:
'waitForCondition'
,
'timeout'
:
_kSerializedTestTimeout
,
'conditionName'
:
'CombinedCondition'
,
'conditions'
:
'[{"conditionName":"NoPendingFrameCondition"},{"conditionName":"NoTransientCallbacksCondition"}]'
,
});
return
makeMockResponse
(<
String
,
dynamic
>{});
});
const
SerializableWaitCondition
combinedCondition
=
const
SerializableWaitCondition
combinedCondition
=
CombinedCondition
(<
SerializableWaitCondition
>[
NoPendingFrame
(),
NoTransientCallbacks
()]);
CombinedCondition
(<
SerializableWaitCondition
>[
NoPendingFrame
(),
NoTransientCallbacks
()]);
await
driver
.
waitForCondition
(
combinedCondition
,
timeout:
_kTestTimeout
);
await
driver
.
waitForCondition
(
combinedCondition
,
timeout:
_kTestTimeout
);
expect
(
fakeClient
.
commandLog
,
<
String
>[
'ext.flutter.driver {command: waitForCondition, timeout:
$_kSerializedTestTimeout
, conditionName: CombinedCondition, conditions: [{"conditionName":"NoPendingFrameCondition"},{"conditionName":"NoTransientCallbacksCondition"}]}'
,
]);
});
});
});
});
group
(
'waitUntilNoTransientCallbacks'
,
()
{
group
(
'waitUntilNoTransientCallbacks'
,
()
{
test
(
'sends the waitUntilNoTransientCallbacks command'
,
()
async
{
test
(
'sends the waitUntilNoTransientCallbacks command'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
fakeClient
.
responses
[
'waitForCondition'
]
=
makeFakeResponse
(<
String
,
dynamic
>{});
expect
(
i
.
positionalArguments
[
1
],
<
String
,
dynamic
>{
'command'
:
'waitForCondition'
,
'timeout'
:
_kSerializedTestTimeout
,
'conditionName'
:
'NoTransientCallbacksCondition'
,
});
return
makeMockResponse
(<
String
,
dynamic
>{});
});
await
driver
.
waitUntilNoTransientCallbacks
(
timeout:
_kTestTimeout
);
await
driver
.
waitUntilNoTransientCallbacks
(
timeout:
_kTestTimeout
);
expect
(
fakeClient
.
commandLog
,
<
String
>[
'ext.flutter.driver {command: waitForCondition, timeout:
$_kSerializedTestTimeout
, conditionName: NoTransientCallbacksCondition}'
,
]);
});
});
});
});
group
(
'waitUntilFirstFrameRasterized'
,
()
{
group
(
'waitUntilFirstFrameRasterized'
,
()
{
test
(
'sends the waitUntilFirstFrameRasterized command'
,
()
async
{
test
(
'sends the waitUntilFirstFrameRasterized command'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
fakeClient
.
responses
[
'waitForCondition'
]
=
makeFakeResponse
(<
String
,
dynamic
>{});
expect
(
i
.
positionalArguments
[
1
],
<
String
,
dynamic
>{
'command'
:
'waitForCondition'
,
'conditionName'
:
'FirstFrameRasterizedCondition'
,
});
return
makeMockResponse
(<
String
,
dynamic
>{});
});
await
driver
.
waitUntilFirstFrameRasterized
();
await
driver
.
waitUntilFirstFrameRasterized
();
expect
(
fakeClient
.
commandLog
,
<
String
>[
'ext.flutter.driver {command: waitForCondition, conditionName: FirstFrameRasterizedCondition}'
,
]);
});
});
});
});
group
(
'getOffset'
,
()
{
group
(
'getOffset'
,
()
{
setUp
(()
{
fakeClient
.
responses
[
'get_offset'
]
=
makeFakeResponse
(<
String
,
double
>{
'dx'
:
11
,
'dy'
:
12
,
});
});
test
(
'requires a target reference'
,
()
async
{
test
(
'requires a target reference'
,
()
async
{
expect
(
driver
.
getCenter
(
null
),
throws
Driver
Error
);
expect
(
driver
.
getCenter
(
null
),
throws
Assertion
Error
);
expect
(
driver
.
getTopLeft
(
null
),
throws
Driver
Error
);
expect
(
driver
.
getTopLeft
(
null
),
throws
Assertion
Error
);
expect
(
driver
.
getTopRight
(
null
),
throws
Driver
Error
);
expect
(
driver
.
getTopRight
(
null
),
throws
Assertion
Error
);
expect
(
driver
.
getBottomLeft
(
null
),
throws
Driver
Error
);
expect
(
driver
.
getBottomLeft
(
null
),
throws
Assertion
Error
);
expect
(
driver
.
getBottomRight
(
null
),
throws
Driver
Error
);
expect
(
driver
.
getBottomRight
(
null
),
throws
Assertion
Error
);
});
});
test
(
'sends the getCenter command'
,
()
async
{
test
(
'sends the getCenter command'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
expect
(
i
.
positionalArguments
[
1
],
<
String
,
dynamic
>{
'command'
:
'get_offset'
,
'offsetType'
:
'center'
,
'timeout'
:
_kSerializedTestTimeout
,
'finderType'
:
'ByValueKey'
,
'keyValueString'
:
'123'
,
'keyValueType'
:
'int'
,
});
return
makeMockResponse
(<
String
,
double
>{
'dx'
:
11
,
'dy'
:
12
,
});
});
final
DriverOffset
result
=
await
driver
.
getCenter
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
final
DriverOffset
result
=
await
driver
.
getCenter
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
expect
(
result
,
const
DriverOffset
(
11
,
12
));
expect
(
result
,
const
DriverOffset
(
11
,
12
));
expect
(
fakeClient
.
commandLog
,
<
String
>[
'ext.flutter.driver {command: get_offset, timeout: 1234, finderType: ByValueKey, keyValueString: 123, keyValueType: int, offsetType: center}'
,
]);
});
});
test
(
'sends the getTopLeft command'
,
()
async
{
test
(
'sends the getTopLeft command'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
expect
(
i
.
positionalArguments
[
1
],
<
String
,
dynamic
>{
'command'
:
'get_offset'
,
'offsetType'
:
'topLeft'
,
'timeout'
:
_kSerializedTestTimeout
,
'finderType'
:
'ByValueKey'
,
'keyValueString'
:
'123'
,
'keyValueType'
:
'int'
,
});
return
makeMockResponse
(<
String
,
double
>{
'dx'
:
11
,
'dy'
:
12
,
});
});
final
DriverOffset
result
=
await
driver
.
getTopLeft
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
final
DriverOffset
result
=
await
driver
.
getTopLeft
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
expect
(
result
,
const
DriverOffset
(
11
,
12
));
expect
(
result
,
const
DriverOffset
(
11
,
12
));
expect
(
fakeClient
.
commandLog
,
<
String
>[
'ext.flutter.driver {command: get_offset, timeout: 1234, finderType: ByValueKey, keyValueString: 123, keyValueType: int, offsetType: topLeft}'
,
]);
});
});
test
(
'sends the getTopRight command'
,
()
async
{
test
(
'sends the getTopRight command'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
expect
(
i
.
positionalArguments
[
1
],
<
String
,
dynamic
>{
'command'
:
'get_offset'
,
'offsetType'
:
'topRight'
,
'timeout'
:
_kSerializedTestTimeout
,
'finderType'
:
'ByValueKey'
,
'keyValueString'
:
'123'
,
'keyValueType'
:
'int'
,
});
return
makeMockResponse
(<
String
,
double
>{
'dx'
:
11
,
'dy'
:
12
,
});
});
final
DriverOffset
result
=
await
driver
.
getTopRight
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
final
DriverOffset
result
=
await
driver
.
getTopRight
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
expect
(
result
,
const
DriverOffset
(
11
,
12
));
expect
(
result
,
const
DriverOffset
(
11
,
12
));
expect
(
fakeClient
.
commandLog
,
<
String
>[
'ext.flutter.driver {command: get_offset, timeout: 1234, finderType: ByValueKey, keyValueString: 123, keyValueType: int, offsetType: topRight}'
,
]);
});
});
test
(
'sends the getBottomLeft command'
,
()
async
{
test
(
'sends the getBottomLeft command'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
expect
(
i
.
positionalArguments
[
1
],
<
String
,
dynamic
>{
'command'
:
'get_offset'
,
'offsetType'
:
'bottomLeft'
,
'timeout'
:
_kSerializedTestTimeout
,
'finderType'
:
'ByValueKey'
,
'keyValueString'
:
'123'
,
'keyValueType'
:
'int'
,
});
return
makeMockResponse
(<
String
,
double
>{
'dx'
:
11
,
'dy'
:
12
,
});
});
final
DriverOffset
result
=
await
driver
.
getBottomLeft
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
final
DriverOffset
result
=
await
driver
.
getBottomLeft
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
expect
(
result
,
const
DriverOffset
(
11
,
12
));
expect
(
result
,
const
DriverOffset
(
11
,
12
));
expect
(
fakeClient
.
commandLog
,
<
String
>[
'ext.flutter.driver {command: get_offset, timeout: 1234, finderType: ByValueKey, keyValueString: 123, keyValueType: int, offsetType: bottomLeft}'
,
]);
});
});
test
(
'sends the getBottomRight command'
,
()
async
{
test
(
'sends the getBottomRight command'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
expect
(
i
.
positionalArguments
[
1
],
<
String
,
dynamic
>{
'command'
:
'get_offset'
,
'offsetType'
:
'bottomRight'
,
'timeout'
:
_kSerializedTestTimeout
,
'finderType'
:
'ByValueKey'
,
'keyValueString'
:
'123'
,
'keyValueType'
:
'int'
,
});
return
makeMockResponse
(<
String
,
double
>{
'dx'
:
11
,
'dy'
:
12
,
});
});
final
DriverOffset
result
=
await
driver
.
getBottomRight
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
final
DriverOffset
result
=
await
driver
.
getBottomRight
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
expect
(
result
,
const
DriverOffset
(
11
,
12
));
expect
(
result
,
const
DriverOffset
(
11
,
12
));
expect
(
fakeClient
.
commandLog
,
<
String
>[
'ext.flutter.driver {command: get_offset, timeout: 1234, finderType: ByValueKey, keyValueString: 123, keyValueType: int, offsetType: bottomRight}'
,
]);
});
});
});
});
group
(
'clearTimeline'
,
()
{
group
(
'clearTimeline'
,
()
{
test
(
'clears timeline'
,
()
async
{
test
(
'clears timeline'
,
()
async
{
bool
clearWasCalled
=
false
;
when
(
mockPeer
.
sendRequest
(
'clearVMTimeline'
,
argThat
(
equals
(<
String
,
dynamic
>{}))))
.
thenAnswer
((
Invocation
invocation
)
async
{
clearWasCalled
=
true
;
return
null
;
});
await
driver
.
clearTimeline
();
await
driver
.
clearTimeline
();
expect
(
clearWasCalled
,
isTrue
);
expect
(
fakeClient
.
connectionLog
,
contains
(
'clearVMTimeline'
)
);
});
});
});
});
group
(
'traceAction'
,
()
{
group
(
'traceAction'
,
()
{
List
<
String
>
log
;
setUp
(()
async
{
log
=
<
String
>[];
when
(
mockPeer
.
sendRequest
(
'clearVMTimeline'
,
argThat
(
equals
(<
String
,
dynamic
>{}))))
.
thenAnswer
((
Invocation
invocation
)
async
{
log
.
add
(
'clear'
);
return
null
;
});
when
(
mockPeer
.
sendRequest
(
'getVMTimelineMicros'
))
.
thenAnswer
((
Invocation
invocation
)
async
{
log
.
add
(
'getVMTimelineMicros'
);
return
<
String
,
Object
>{};
});
when
(
mockPeer
.
sendRequest
(
'setVMTimelineFlags'
,
argThat
(
equals
(<
String
,
dynamic
>{
'recordedStreams'
:
'[all]'
}))))
.
thenAnswer
((
Invocation
invocation
)
async
{
log
.
add
(
'startTracing'
);
return
null
;
});
when
(
mockPeer
.
sendRequest
(
'setVMTimelineFlags'
,
argThat
(
equals
(<
String
,
dynamic
>{
'recordedStreams'
:
'[]'
}))))
.
thenAnswer
((
Invocation
invocation
)
async
{
log
.
add
(
'stopTracing'
);
return
null
;
});
when
(
mockPeer
.
sendRequest
(
'getVMTimeline'
)).
thenAnswer
((
Invocation
invocation
)
async
{
log
.
add
(
'download'
);
return
<
String
,
dynamic
>{
'traceEvents'
:
<
dynamic
>[
<
String
,
String
>{
'name'
:
'test event'
,
},
],
};
});
});
test
(
'without clearing timeline'
,
()
async
{
test
(
'without clearing timeline'
,
()
async
{
final
Timeline
timeline
=
await
driver
.
traceAction
(()
async
{
final
Timeline
timeline
=
await
driver
.
traceAction
(()
async
{
l
og
.
add
(
'action'
);
fakeClient
.
connectionL
og
.
add
(
'action'
);
},
retainPriorEvents:
true
);
},
retainPriorEvents:
true
);
expect
(
l
og
,
const
<
String
>[
expect
(
fakeClient
.
connectionL
og
,
const
<
String
>[
's
tartTracing
'
,
's
etVMTimelineFlags [all]
'
,
'action'
,
'action'
,
'stopTracing'
,
'getFlagList'
,
'download'
,
'setVMTimelineFlags []'
,
'getVMTimeline null null'
,
]);
]);
expect
(
timeline
.
events
.
single
.
name
,
'test event'
);
expect
(
timeline
.
events
.
single
.
name
,
'test event'
);
});
});
test
(
'with clearing timeline'
,
()
async
{
test
(
'with clearing timeline'
,
()
async
{
final
Timeline
timeline
=
await
driver
.
traceAction
(()
async
{
final
Timeline
timeline
=
await
driver
.
traceAction
(()
async
{
l
og
.
add
(
'action'
);
fakeClient
.
connectionL
og
.
add
(
'action'
);
});
});
expect
(
l
og
,
const
<
String
>[
expect
(
fakeClient
.
connectionL
og
,
const
<
String
>[
'clear'
,
'clear
VMTimeline
'
,
'getVMTimelineMicros'
,
'getVMTimelineMicros'
,
's
tartTracing
'
,
's
etVMTimelineFlags [all]
'
,
'action'
,
'action'
,
'getVMTimelineMicros'
,
'getVMTimelineMicros'
,
'stopTracing'
,
'getFlagList'
,
'download'
,
'setVMTimelineFlags []'
,
'getVMTimeline 1 999999'
,
]);
]);
expect
(
timeline
.
events
.
single
.
name
,
'test event'
);
expect
(
timeline
.
events
.
single
.
name
,
'test event'
);
});
});
test
(
'with time interval'
,
()
async
{
test
(
'with time interval'
,
()
async
{
int
count
=
0
;
fakeClient
.
incrementMicros
=
true
;
when
(
mockPeer
.
sendRequest
(
'getVMTimelineMicros'
))
fakeClient
.
timelineResponses
[
1000001
]
=
vms
.
Timeline
.
parse
(<
String
,
dynamic
>{
.
thenAnswer
((
Invocation
invocation
)
async
{
'traceEvents'
:
<
dynamic
>[
log
.
add
(
'getVMTimelineMicros'
);
<
String
,
dynamic
>{
return
<
String
,
Object
>{
'name'
:
'test event 2'
,
if
(
count
++
==
0
)
},
'timestamp'
:
0
],
else
'timestamp'
:
1000001
,
};
});
when
(
mockPeer
.
sendRequest
(
'getVMTimeline'
,
argThat
(
equals
(<
String
,
dynamic
>{
'timeOriginMicros'
:
0
,
'timeExtentMicros'
:
999999
}))))
.
thenAnswer
((
Invocation
invocation
)
async
{
log
.
add
(
'download 1'
);
return
<
String
,
dynamic
>{
'traceEvents'
:
<
dynamic
>[
<
String
,
String
>{
'name'
:
'test event 1'
,
},
],
};
});
when
(
mockPeer
.
sendRequest
(
'getVMTimeline'
,
argThat
(
equals
(<
String
,
dynamic
>{
'timeOriginMicros'
:
1000000
,
'timeOriginMicros'
:
1000000
,
'timeExtentMicros'
:
999999
,
'timeExtentMicros'
:
999999
,
}))))
});
.
thenAnswer
((
Invocation
invocation
)
async
{
log
.
add
(
'download 2'
);
return
<
String
,
dynamic
>{
'traceEvents'
:
<
dynamic
>[
<
String
,
String
>{
'name'
:
'test event 2'
,
},
],
};
});
final
Timeline
timeline
=
await
driver
.
traceAction
(()
async
{
final
Timeline
timeline
=
await
driver
.
traceAction
(()
async
{
l
og
.
add
(
'action'
);
fakeClient
.
connectionL
og
.
add
(
'action'
);
});
});
expect
(
l
og
,
const
<
String
>[
expect
(
fakeClient
.
connectionL
og
,
const
<
String
>[
'clear'
,
'clear
VMTimeline
'
,
'getVMTimelineMicros'
,
'getVMTimelineMicros'
,
's
tartTracing
'
,
's
etVMTimelineFlags [all]
'
,
'action'
,
'action'
,
'getVMTimelineMicros'
,
'getVMTimelineMicros'
,
'stopTracing'
,
'getFlagList'
,
'download 1'
,
'setVMTimelineFlags []'
,
'download 2'
,
'getVMTimeline 1 999999'
,
'getVMTimeline 1000001 999999'
,
]);
]);
expect
(
timeline
.
events
.
map
((
TimelineEvent
event
)
=>
event
.
name
),
<
String
>[
expect
(
timeline
.
events
.
map
((
TimelineEvent
event
)
=>
event
.
name
),
<
String
>[
'test event
1
'
,
'test event'
,
'test event 2'
,
'test event 2'
,
]);
]);
});
});
...
@@ -688,36 +489,6 @@ void main() {
...
@@ -688,36 +489,6 @@ void main() {
group
(
'traceAction with timeline streams'
,
()
{
group
(
'traceAction with timeline streams'
,
()
{
test
(
'specify non-default timeline streams'
,
()
async
{
test
(
'specify non-default timeline streams'
,
()
async
{
bool
actionCalled
=
false
;
bool
actionCalled
=
false
;
bool
startTracingCalled
=
false
;
bool
stopTracingCalled
=
false
;
when
(
mockPeer
.
sendRequest
(
'getVMTimelineMicros'
))
.
thenAnswer
((
Invocation
invocation
)
async
{
log
.
add
(
'getVMTimelineMicros'
);
return
<
String
,
Object
>{};
});
when
(
mockPeer
.
sendRequest
(
'setVMTimelineFlags'
,
argThat
(
equals
(<
String
,
dynamic
>{
'recordedStreams'
:
'[Dart, GC, Compiler]'
}))))
.
thenAnswer
((
Invocation
invocation
)
async
{
startTracingCalled
=
true
;
return
null
;
});
when
(
mockPeer
.
sendRequest
(
'setVMTimelineFlags'
,
argThat
(
equals
(<
String
,
dynamic
>{
'recordedStreams'
:
'[]'
}))))
.
thenAnswer
((
Invocation
invocation
)
async
{
stopTracingCalled
=
true
;
return
null
;
});
when
(
mockPeer
.
sendRequest
(
'getVMTimeline'
)).
thenAnswer
((
Invocation
invocation
)
async
{
return
<
String
,
dynamic
>{
'traceEvents'
:
<
dynamic
>[
<
String
,
String
>{
'name'
:
'test event'
,
},
],
};
});
final
Timeline
timeline
=
await
driver
.
traceAction
(()
async
{
final
Timeline
timeline
=
await
driver
.
traceAction
(()
async
{
actionCalled
=
true
;
actionCalled
=
true
;
...
@@ -730,8 +501,13 @@ void main() {
...
@@ -730,8 +501,13 @@ void main() {
retainPriorEvents:
true
);
retainPriorEvents:
true
);
expect
(
actionCalled
,
isTrue
);
expect
(
actionCalled
,
isTrue
);
expect
(
startTracingCalled
,
isTrue
);
expect
(
fakeClient
.
connectionLog
,
<
String
>[
expect
(
stopTracingCalled
,
isTrue
);
'setVMTimelineFlags [Dart, GC, Compiler]'
,
'getFlagList'
,
'setVMTimelineFlags []'
,
'getVMTimeline null null'
]);
expect
(
timeline
.
events
.
single
.
name
,
'test event'
);
expect
(
timeline
.
events
.
single
.
name
,
'test event'
);
});
});
});
});
...
@@ -739,10 +515,7 @@ void main() {
...
@@ -739,10 +515,7 @@ void main() {
group
(
'sendCommand error conditions'
,
()
{
group
(
'sendCommand error conditions'
,
()
{
test
(
'local default timeout'
,
()
async
{
test
(
'local default timeout'
,
()
async
{
log
.
clear
();
log
.
clear
();
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
fakeClient
.
artificialExtensionDelay
=
Completer
<
void
>().
future
;
// completer never completed to trigger timeout
return
Completer
<
Map
<
String
,
dynamic
>>().
future
;
});
FakeAsync
().
run
((
FakeAsync
time
)
{
FakeAsync
().
run
((
FakeAsync
time
)
{
driver
.
waitFor
(
find
.
byTooltip
(
'foo'
));
driver
.
waitFor
(
find
.
byTooltip
(
'foo'
));
expect
(
log
,
<
String
>[]);
expect
(
log
,
<
String
>[]);
...
@@ -753,10 +526,7 @@ void main() {
...
@@ -753,10 +526,7 @@ void main() {
test
(
'local custom timeout'
,
()
async
{
test
(
'local custom timeout'
,
()
async
{
log
.
clear
();
log
.
clear
();
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
fakeClient
.
artificialExtensionDelay
=
Completer
<
void
>().
future
;
// completer never completed to trigger timeout
return
Completer
<
Map
<
String
,
dynamic
>>().
future
;
});
FakeAsync
().
run
((
FakeAsync
time
)
{
FakeAsync
().
run
((
FakeAsync
time
)
{
final
Duration
customTimeout
=
kUnusuallyLongTimeout
-
const
Duration
(
seconds:
1
);
final
Duration
customTimeout
=
kUnusuallyLongTimeout
-
const
Duration
(
seconds:
1
);
driver
.
waitFor
(
find
.
byTooltip
(
'foo'
),
timeout:
customTimeout
);
driver
.
waitFor
(
find
.
byTooltip
(
'foo'
),
timeout:
customTimeout
);
...
@@ -767,11 +537,9 @@ void main() {
...
@@ -767,11 +537,9 @@ void main() {
});
});
test
(
'remote error'
,
()
async
{
test
(
'remote error'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
fakeClient
.
responses
[
'waitFor'
]
=
makeFakeResponse
(<
String
,
dynamic
>{
return
makeMockResponse
(<
String
,
dynamic
>{
'message'
:
'This is a failure'
,
'message'
:
'This is a failure'
,
},
isError:
true
);
},
isError:
true
);
});
try
{
try
{
await
driver
.
waitFor
(
find
.
byTooltip
(
'foo'
));
await
driver
.
waitFor
(
find
.
byTooltip
(
'foo'
));
fail
(
'expected an exception'
);
fail
(
'expected an exception'
);
...
@@ -782,11 +550,9 @@ void main() {
...
@@ -782,11 +550,9 @@ void main() {
});
});
test
(
'uncaught remote error'
,
()
async
{
test
(
'uncaught remote error'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
fakeClient
.
artificialExtensionDelay
=
Future
<
void
>.
error
(
return
Future
<
Map
<
String
,
dynamic
>>.
error
(
vms
.
RPCError
(
'callServiceExtension'
,
9999
,
'test error'
),
rpc
.
RpcException
(
9999
,
'test error'
),
);
);
});
expect
(
driver
.
waitFor
(
find
.
byTooltip
(
'foo'
)),
throwsDriverError
);
expect
(
driver
.
waitFor
(
find
.
byTooltip
(
'foo'
)),
throwsDriverError
);
});
});
...
@@ -804,52 +570,47 @@ void main() {
...
@@ -804,52 +570,47 @@ void main() {
});
});
group
(
'VMServiceFlutterDriver with custom timeout'
,
()
{
group
(
'VMServiceFlutterDriver with custom timeout'
,
()
{
MockVMServiceClient
mock
Client
;
FakeVmService
fake
Client
;
MockPeer
mockPeer
;
FakeVM
fakeVM
;
MockIsolate
mock
Isolate
;
FakeIsolate
fake
Isolate
;
VMServiceFlutterDriver
driver
;
VMServiceFlutterDriver
driver
;
setUp
(()
{
setUp
(()
{
mockClient
=
MockVMServiceClient
();
fakeIsolate
=
FakeIsolate
();
mockPeer
=
MockPeer
();
fakeVM
=
FakeVM
(
fakeIsolate
);
mockIsolate
=
MockIsolate
();
fakeClient
=
FakeVmService
(
fakeVM
);
driver
=
VMServiceFlutterDriver
.
connectedTo
(
mockClient
,
mockPeer
,
mockIsolate
);
driver
=
VMServiceFlutterDriver
.
connectedTo
(
fakeClient
,
fakeIsolate
);
fakeClient
.
responses
[
'get_health'
]
=
makeFakeResponse
(<
String
,
dynamic
>{
'status'
:
'ok'
});
});
});
test
(
'GetHealth has no default timeout'
,
()
async
{
test
(
'GetHealth has no default timeout'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
expect
(
i
.
positionalArguments
[
1
],
<
String
,
String
>{
'command'
:
'get_health'
,
});
return
makeMockResponse
(<
String
,
dynamic
>{
'status'
:
'ok'
});
});
await
driver
.
checkHealth
();
await
driver
.
checkHealth
();
expect
(
fakeClient
.
commandLog
,
<
String
>[
'ext.flutter.driver {command: get_health}'
],
);
});
});
test
(
'does not interfere with explicit timeouts'
,
()
async
{
test
(
'does not interfere with explicit timeouts'
,
()
async
{
when
(
mockIsolate
.
invokeExtension
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
{
expect
(
i
.
positionalArguments
[
1
],
<
String
,
String
>{
'command'
:
'get_health'
,
'timeout'
:
_kSerializedTestTimeout
,
});
return
makeMockResponse
(<
String
,
dynamic
>{
'status'
:
'ok'
});
});
await
driver
.
checkHealth
(
timeout:
_kTestTimeout
);
await
driver
.
checkHealth
(
timeout:
_kTestTimeout
);
expect
(
fakeClient
.
commandLog
,
<
String
>[
'ext.flutter.driver {command: get_health, timeout:
$_kSerializedTestTimeout
}'
],
);
});
});
});
});
group
(
'WebFlutterDriver'
,
()
{
group
(
'WebFlutterDriver'
,
()
{
MockFlutterWebConnection
mock
Connection
;
FakeFlutterWebConnection
fake
Connection
;
WebFlutterDriver
driver
;
WebFlutterDriver
driver
;
setUp
(()
{
setUp
(()
{
mockConnection
=
Mock
FlutterWebConnection
();
fakeConnection
=
Fake
FlutterWebConnection
();
when
(
mockConnection
.
supportsTimelineAction
).
thenReturn
(
true
)
;
fakeConnection
.
supportsTimelineAction
=
true
;
driver
=
WebFlutterDriver
.
connectedTo
(
mock
Connection
);
driver
=
WebFlutterDriver
.
connectedTo
(
fake
Connection
);
});
});
test
(
'closes connection'
,
()
async
{
test
(
'closes connection'
,
()
async
{
when
(
mockConnection
.
close
()).
thenAnswer
((
Invocation
invocation
)
=>
Future
<
dynamic
>.
value
(
null
));
await
driver
.
close
();
await
driver
.
close
();
});
});
...
@@ -860,294 +621,177 @@ void main() {
...
@@ -860,294 +621,177 @@ void main() {
});
});
test
(
'finds by ValueKey'
,
()
async
{
test
(
'finds by ValueKey'
,
()
async
{
when
(
mockConnection
.
sendCommand
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
async
{
fakeConnection
.
responses
[
'tap'
]
=
jsonEncode
(
makeFakeResponse
(<
String
,
dynamic
>{}));
final
String
script
=
_checkAndEncode
(
i
.
positionalArguments
[
0
]);
expect
(
Map
<
String
,
String
>.
from
(
jsonDecode
(
script
)
as
Map
<
String
,
dynamic
>),
<
String
,
String
>{
'command'
:
'tap'
,
'timeout'
:
_kSerializedTestTimeout
,
'finderType'
:
'ByValueKey'
,
'keyValueString'
:
'foo'
,
'keyValueType'
:
'String'
,
});
return
jsonEncode
(
await
makeMockResponse
(<
String
,
dynamic
>{}));
});
await
driver
.
tap
(
find
.
byValueKey
(
'foo'
),
timeout:
_kTestTimeout
);
await
driver
.
tap
(
find
.
byValueKey
(
'foo'
),
timeout:
_kTestTimeout
);
expect
(
fakeConnection
.
commandLog
,
<
String
>[
r''
'window.
$flutterDriver
('
{
"command"
:
"tap"
,
"timeout"
:
"1234"
,
"finderType"
:
"ByValueKey"
,
"keyValueString"
:
"foo"
,
"keyValueType"
:
"String"
}
') 0:00:01.234000'''
,
]);
});
});
});
});
group
(
'BySemanticsLabel'
,
()
{
group
(
'BySemanticsLabel'
,
()
{
test
(
'finds by Semantic label using String'
,
()
async
{
test
(
'finds by Semantic label using String'
,
()
async
{
when
(
mockConnection
.
sendCommand
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
async
{
fakeConnection
.
responses
[
'tap'
]
=
jsonEncode
(
makeFakeResponse
(<
String
,
dynamic
>{}));
final
String
script
=
_checkAndEncode
(
i
.
positionalArguments
[
0
]);
expect
(
Map
<
String
,
String
>.
from
(
jsonDecode
(
script
)
as
Map
<
String
,
dynamic
>),
<
String
,
String
>{
'command'
:
'tap'
,
'timeout'
:
_kSerializedTestTimeout
,
'finderType'
:
'BySemanticsLabel'
,
'label'
:
'foo'
,
});
return
jsonEncode
(
await
makeMockResponse
(<
String
,
dynamic
>{}));
});
await
driver
.
tap
(
find
.
bySemanticsLabel
(
'foo'
),
timeout:
_kTestTimeout
);
await
driver
.
tap
(
find
.
bySemanticsLabel
(
'foo'
),
timeout:
_kTestTimeout
);
expect
(
fakeConnection
.
commandLog
,
<
String
>[
r''
'window.
$flutterDriver
('
{
"command"
:
"tap"
,
"timeout"
:
"1234"
,
"finderType"
:
"BySemanticsLabel"
,
"label"
:
"foo"
}
') 0:00:01.234000'''
,
]);
});
});
test
(
'finds by Semantic label using RegExp'
,
()
async
{
test
(
'finds by Semantic label using RegExp'
,
()
async
{
when
(
mockConnection
.
sendCommand
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
async
{
fakeConnection
.
responses
[
'tap'
]
=
jsonEncode
(
makeFakeResponse
(<
String
,
dynamic
>{}));
final
String
script
=
_checkAndEncode
(
i
.
positionalArguments
[
0
]);
expect
(
Map
<
String
,
String
>.
from
(
jsonDecode
(
script
)
as
Map
<
String
,
dynamic
>),
<
String
,
String
>{
'command'
:
'tap'
,
'timeout'
:
_kSerializedTestTimeout
,
'finderType'
:
'BySemanticsLabel'
,
'label'
:
'^foo'
,
'isRegExp'
:
'true'
,
});
return
jsonEncode
(
await
makeMockResponse
(<
String
,
dynamic
>{}));
});
await
driver
.
tap
(
find
.
bySemanticsLabel
(
RegExp
(
'^foo'
)),
timeout:
_kTestTimeout
);
await
driver
.
tap
(
find
.
bySemanticsLabel
(
RegExp
(
'^foo'
)),
timeout:
_kTestTimeout
);
expect
(
fakeConnection
.
commandLog
,
<
String
>[
r''
'window.
$flutterDriver
('
{
"command"
:
"tap"
,
"timeout"
:
"1234"
,
"finderType"
:
"BySemanticsLabel"
,
"label"
:
"^foo"
,
"isRegExp"
:
"true"
}
') 0:00:01.234000'''
,
]);
});
});
});
});
group
(
'tap'
,
()
{
group
(
'tap'
,
()
{
test
(
'requires a target reference'
,
()
async
{
test
(
'requires a target reference'
,
()
async
{
expect
(
driver
.
tap
(
null
),
throws
Driver
Error
);
expect
(
driver
.
tap
(
null
),
throws
Assertion
Error
);
});
});
test
(
'sends the tap command'
,
()
async
{
test
(
'sends the tap command'
,
()
async
{
when
(
mockConnection
.
sendCommand
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
async
{
fakeConnection
.
responses
[
'tap'
]
=
jsonEncode
(
makeFakeResponse
(<
String
,
dynamic
>{}));
final
String
script
=
_checkAndEncode
(
i
.
positionalArguments
[
0
]);
expect
(
Map
<
String
,
String
>.
from
(
jsonDecode
(
script
)
as
Map
<
String
,
dynamic
>),
<
String
,
String
>{
'command'
:
'tap'
,
'timeout'
:
_kSerializedTestTimeout
,
'finderType'
:
'ByText'
,
'text'
:
'foo'
,
});
return
jsonEncode
(
await
makeMockResponse
(<
String
,
dynamic
>{}));
});
await
driver
.
tap
(
find
.
text
(
'foo'
),
timeout:
_kTestTimeout
);
await
driver
.
tap
(
find
.
text
(
'foo'
),
timeout:
_kTestTimeout
);
expect
(
fakeConnection
.
commandLog
,
<
String
>[
r''
'window.
$flutterDriver
('
{
"command"
:
"tap"
,
"timeout"
:
"1234"
,
"finderType"
:
"ByText"
,
"text"
:
"foo"
}
') 0:00:01.234000'''
,
]);
});
});
});
});
group
(
'getText'
,
()
{
group
(
'getText'
,
()
{
test
(
'requires a target reference'
,
()
async
{
test
(
'requires a target reference'
,
()
async
{
expect
(
driver
.
getText
(
null
),
throws
Driver
Error
);
expect
(
driver
.
getText
(
null
),
throws
Assertion
Error
);
});
});
test
(
'sends the getText command'
,
()
async
{
test
(
'sends the getText command'
,
()
async
{
when
(
mockConnection
.
sendCommand
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
async
{
fakeConnection
.
responses
[
'get_text'
]
=
jsonEncode
(
makeFakeResponse
(<
String
,
dynamic
>{
'text'
:
'hello'
}));
final
String
script
=
_checkAndEncode
(
i
.
positionalArguments
[
0
]);
expect
(
Map
<
String
,
String
>.
from
(
jsonDecode
(
script
)
as
Map
<
String
,
dynamic
>),
<
String
,
String
>{
'command'
:
'get_text'
,
'timeout'
:
_kSerializedTestTimeout
,
'finderType'
:
'ByValueKey'
,
'keyValueString'
:
'123'
,
'keyValueType'
:
'int'
,
});
return
jsonEncode
(
await
makeMockResponse
(<
String
,
String
>{
'text'
:
'hello'
,
}));
});
final
String
result
=
await
driver
.
getText
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
final
String
result
=
await
driver
.
getText
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
expect
(
result
,
'hello'
);
expect
(
result
,
'hello'
);
expect
(
fakeConnection
.
commandLog
,
<
String
>[
r''
'window.
$flutterDriver
('
{
"command"
:
"get_text"
,
"timeout"
:
"1234"
,
"finderType"
:
"ByValueKey"
,
"keyValueString"
:
"123"
,
"keyValueType"
:
"int"
}
') 0:00:01.234000'''
,
]);
});
});
});
});
group
(
'waitFor'
,
()
{
group
(
'waitFor'
,
()
{
test
(
'requires a target reference'
,
()
async
{
test
(
'requires a target reference'
,
()
async
{
expect
(
driver
.
waitFor
(
null
),
throws
Driver
Error
);
expect
(
driver
.
waitFor
(
null
),
throws
Assertion
Error
);
});
});
test
(
'sends the waitFor command'
,
()
async
{
test
(
'sends the waitFor command'
,
()
async
{
when
(
mockConnection
.
sendCommand
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
async
{
fakeConnection
.
responses
[
'waitFor'
]
=
jsonEncode
(
makeFakeResponse
(<
String
,
dynamic
>{
'text'
:
'hello'
}));
final
String
script
=
_checkAndEncode
(
i
.
positionalArguments
[
0
]);
expect
(
Map
<
String
,
String
>.
from
(
jsonDecode
(
script
)
as
Map
<
String
,
dynamic
>),
<
String
,
String
>{
'command'
:
'waitFor'
,
'finderType'
:
'ByTooltipMessage'
,
'text'
:
'foo'
,
'timeout'
:
_kSerializedTestTimeout
,
});
return
jsonEncode
(
await
makeMockResponse
(<
String
,
dynamic
>{}));
});
await
driver
.
waitFor
(
find
.
byTooltip
(
'foo'
),
timeout:
_kTestTimeout
);
await
driver
.
waitFor
(
find
.
byTooltip
(
'foo'
),
timeout:
_kTestTimeout
);
expect
(
fakeConnection
.
commandLog
,
<
String
>[
r''
'window.
$flutterDriver
('
{
"command"
:
"waitFor"
,
"timeout"
:
"1234"
,
"finderType"
:
"ByTooltipMessage"
,
"text"
:
"foo"
}
') 0:00:01.234000'''
,
]);
});
});
});
});
group
(
'waitForCondition'
,
()
{
group
(
'waitForCondition'
,
()
{
setUp
(()
{
fakeConnection
.
responses
[
'waitForCondition'
]
=
jsonEncode
(
makeFakeResponse
(<
String
,
dynamic
>{
'text'
:
'hello'
}));
});
test
(
'sends the wait for NoPendingFrameCondition command'
,
()
async
{
test
(
'sends the wait for NoPendingFrameCondition command'
,
()
async
{
when
(
mockConnection
.
sendCommand
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
async
{
final
String
script
=
_checkAndEncode
(
i
.
positionalArguments
[
0
]);
expect
(
Map
<
String
,
String
>.
from
(
jsonDecode
(
script
)
as
Map
<
String
,
dynamic
>),
<
String
,
String
>{
'command'
:
'waitForCondition'
,
'timeout'
:
_kSerializedTestTimeout
,
'conditionName'
:
'NoPendingFrameCondition'
,
});
return
jsonEncode
(
await
makeMockResponse
(<
String
,
dynamic
>{}));
});
await
driver
.
waitForCondition
(
const
NoPendingFrame
(),
timeout:
_kTestTimeout
);
await
driver
.
waitForCondition
(
const
NoPendingFrame
(),
timeout:
_kTestTimeout
);
expect
(
fakeConnection
.
commandLog
,
<
String
>[
r''
'window.
$flutterDriver
('
{
"command"
:
"waitForCondition"
,
"timeout"
:
"1234"
,
"conditionName"
:
"NoPendingFrameCondition"
}
') 0:00:01.234000'''
,
]);
});
});
test
(
'sends the wait for NoPendingPlatformMessages command'
,
()
async
{
test
(
'sends the wait for NoPendingPlatformMessages command'
,
()
async
{
when
(
mockConnection
.
sendCommand
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
async
{
final
String
script
=
_checkAndEncode
(
i
.
positionalArguments
[
0
]);
expect
(
Map
<
String
,
String
>.
from
(
jsonDecode
(
script
)
as
Map
<
String
,
dynamic
>),
<
String
,
String
>{
'command'
:
'waitForCondition'
,
'timeout'
:
_kSerializedTestTimeout
,
'conditionName'
:
'NoPendingPlatformMessagesCondition'
,
});
return
jsonEncode
(
await
makeMockResponse
(<
String
,
dynamic
>{}));
});
await
driver
.
waitForCondition
(
const
NoPendingPlatformMessages
(),
timeout:
_kTestTimeout
);
await
driver
.
waitForCondition
(
const
NoPendingPlatformMessages
(),
timeout:
_kTestTimeout
);
expect
(
fakeConnection
.
commandLog
,
<
String
>[
r''
'window.
$flutterDriver
('
{
"command"
:
"waitForCondition"
,
"timeout"
:
"1234"
,
"conditionName"
:
"NoPendingPlatformMessagesCondition"
}
') 0:00:01.234000'''
,
]);
});
});
test
(
'sends the waitForCondition of combined conditions command'
,
()
async
{
test
(
'sends the waitForCondition of combined conditions command'
,
()
async
{
when
(
mockConnection
.
sendCommand
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
async
{
const
SerializableWaitCondition
combinedCondition
=
CombinedCondition
(
final
String
script
=
_checkAndEncode
(
i
.
positionalArguments
[
0
]);
<
SerializableWaitCondition
>[
NoPendingFrame
(),
NoTransientCallbacks
()],
expect
(
Map
<
String
,
String
>.
from
(
jsonDecode
(
script
)
as
Map
<
String
,
dynamic
>),
<
String
,
String
>{
);
'command'
:
'waitForCondition'
,
'timeout'
:
_kSerializedTestTimeout
,
'conditionName'
:
'CombinedCondition'
,
'conditions'
:
'[{"conditionName":"NoPendingFrameCondition"},{"conditionName":"NoTransientCallbacksCondition"}]'
,
});
return
jsonEncode
(
await
makeMockResponse
(<
String
,
dynamic
>{}));
});
const
SerializableWaitCondition
combinedCondition
=
CombinedCondition
(<
SerializableWaitCondition
>[
NoPendingFrame
(),
NoTransientCallbacks
()]);
await
driver
.
waitForCondition
(
combinedCondition
,
timeout:
_kTestTimeout
);
await
driver
.
waitForCondition
(
combinedCondition
,
timeout:
_kTestTimeout
);
expect
(
fakeConnection
.
commandLog
,
<
String
>[
r''
'window.
$flutterDriver
('
{
"command"
:
"waitForCondition"
,
"timeout"
:
"1234"
,
"conditionName"
:
"CombinedCondition"
,
"conditions"
:
"[{
\"
conditionName
\"
:
\"
NoPendingFrameCondition
\"
},{
\"
conditionName
\"
:
\"
NoTransientCallbacksCondition
\"
}]"
}
') 0:00:01.234000'''
,
]);
});
});
});
});
group
(
'waitUntilNoTransientCallbacks'
,
()
{
group
(
'waitUntilNoTransientCallbacks'
,
()
{
test
(
'sends the waitUntilNoTransientCallbacks command'
,
()
async
{
test
(
'sends the waitUntilNoTransientCallbacks command'
,
()
async
{
when
(
mockConnection
.
sendCommand
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
async
{
fakeConnection
.
responses
[
'waitForCondition'
]
=
jsonEncode
(
makeFakeResponse
(<
String
,
dynamic
>{}));
final
String
script
=
_checkAndEncode
(
i
.
positionalArguments
[
0
]);
expect
(
Map
<
String
,
String
>.
from
(
jsonDecode
(
script
)
as
Map
<
String
,
dynamic
>),
<
String
,
String
>{
'command'
:
'waitForCondition'
,
'timeout'
:
_kSerializedTestTimeout
,
'conditionName'
:
'NoTransientCallbacksCondition'
,
});
return
jsonEncode
(
await
makeMockResponse
(<
String
,
dynamic
>{}));
});
await
driver
.
waitUntilNoTransientCallbacks
(
timeout:
_kTestTimeout
);
await
driver
.
waitUntilNoTransientCallbacks
(
timeout:
_kTestTimeout
);
expect
(
fakeConnection
.
commandLog
,
<
String
>[
r''
'window.
$flutterDriver
('
{
"command"
:
"waitForCondition"
,
"timeout"
:
"1234"
,
"conditionName"
:
"NoTransientCallbacksCondition"
}
') 0:00:01.234000'''
,
]);
});
});
});
});
group
(
'getOffset'
,
()
{
group
(
'getOffset'
,
()
{
setUp
(()
{
fakeConnection
.
responses
[
'get_offset'
]
=
jsonEncode
(
makeFakeResponse
(<
String
,
double
>{
'dx'
:
11
,
'dy'
:
12
,
}));
});
test
(
'requires a target reference'
,
()
async
{
test
(
'requires a target reference'
,
()
async
{
expect
(
driver
.
getCenter
(
null
),
throws
Driver
Error
);
expect
(
driver
.
getCenter
(
null
),
throws
Assertion
Error
);
expect
(
driver
.
getTopLeft
(
null
),
throws
Driver
Error
);
expect
(
driver
.
getTopLeft
(
null
),
throws
Assertion
Error
);
expect
(
driver
.
getTopRight
(
null
),
throws
Driver
Error
);
expect
(
driver
.
getTopRight
(
null
),
throws
Assertion
Error
);
expect
(
driver
.
getBottomLeft
(
null
),
throws
Driver
Error
);
expect
(
driver
.
getBottomLeft
(
null
),
throws
Assertion
Error
);
expect
(
driver
.
getBottomRight
(
null
),
throws
Driver
Error
);
expect
(
driver
.
getBottomRight
(
null
),
throws
Assertion
Error
);
});
});
test
(
'sends the getCenter command'
,
()
async
{
test
(
'sends the getCenter command'
,
()
async
{
when
(
mockConnection
.
sendCommand
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
async
{
final
String
script
=
_checkAndEncode
(
i
.
positionalArguments
[
0
]);
expect
(
Map
<
String
,
String
>.
from
(
jsonDecode
(
script
)
as
Map
<
String
,
dynamic
>),
<
String
,
String
>{
'command'
:
'get_offset'
,
'offsetType'
:
'center'
,
'timeout'
:
_kSerializedTestTimeout
,
'finderType'
:
'ByValueKey'
,
'keyValueString'
:
'123'
,
'keyValueType'
:
'int'
,
});
return
jsonEncode
(
await
makeMockResponse
(<
String
,
double
>{
'dx'
:
11
,
'dy'
:
12
,
}));
});
final
DriverOffset
result
=
await
driver
.
getCenter
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
final
DriverOffset
result
=
await
driver
.
getCenter
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
expect
(
result
,
const
DriverOffset
(
11
,
12
));
expect
(
result
,
const
DriverOffset
(
11
,
12
));
expect
(
fakeConnection
.
commandLog
,
<
String
>[
r''
'window.
$flutterDriver
('
{
"command"
:
"get_offset"
,
"timeout"
:
"1234"
,
"finderType"
:
"ByValueKey"
,
"keyValueString"
:
"123"
,
"keyValueType"
:
"int"
,
"offsetType"
:
"center"
}
') 0:00:01.234000'''
,
]);
});
});
test
(
'sends the getTopLeft command'
,
()
async
{
test
(
'sends the getTopLeft command'
,
()
async
{
when
(
mockConnection
.
sendCommand
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
async
{
final
String
script
=
_checkAndEncode
(
i
.
positionalArguments
[
0
]);
expect
(
Map
<
String
,
String
>.
from
(
jsonDecode
(
script
)
as
Map
<
String
,
dynamic
>),
<
String
,
String
>{
'command'
:
'get_offset'
,
'offsetType'
:
'topLeft'
,
'timeout'
:
_kSerializedTestTimeout
,
'finderType'
:
'ByValueKey'
,
'keyValueString'
:
'123'
,
'keyValueType'
:
'int'
,
});
return
jsonEncode
(
await
makeMockResponse
(<
String
,
double
>{
'dx'
:
11
,
'dy'
:
12
,
}));
});
final
DriverOffset
result
=
await
driver
.
getTopLeft
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
final
DriverOffset
result
=
await
driver
.
getTopLeft
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
expect
(
result
,
const
DriverOffset
(
11
,
12
));
expect
(
result
,
const
DriverOffset
(
11
,
12
));
expect
(
fakeConnection
.
commandLog
,
<
String
>[
r''
'window.
$flutterDriver
('
{
"command"
:
"get_offset"
,
"timeout"
:
"1234"
,
"finderType"
:
"ByValueKey"
,
"keyValueString"
:
"123"
,
"keyValueType"
:
"int"
,
"offsetType"
:
"topLeft"
}
') 0:00:01.234000'''
,
]);
});
});
test
(
'sends the getTopRight command'
,
()
async
{
test
(
'sends the getTopRight command'
,
()
async
{
when
(
mockConnection
.
sendCommand
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
async
{
final
String
script
=
_checkAndEncode
(
i
.
positionalArguments
[
0
]);
expect
(
Map
<
String
,
String
>.
from
(
jsonDecode
(
script
)
as
Map
<
String
,
dynamic
>),
<
String
,
String
>{
'command'
:
'get_offset'
,
'offsetType'
:
'topRight'
,
'timeout'
:
_kSerializedTestTimeout
,
'finderType'
:
'ByValueKey'
,
'keyValueString'
:
'123'
,
'keyValueType'
:
'int'
,
});
return
jsonEncode
(
await
makeMockResponse
(<
String
,
double
>{
'dx'
:
11
,
'dy'
:
12
,
}));
});
final
DriverOffset
result
=
await
driver
.
getTopRight
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
final
DriverOffset
result
=
await
driver
.
getTopRight
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
expect
(
result
,
const
DriverOffset
(
11
,
12
));
expect
(
result
,
const
DriverOffset
(
11
,
12
));
expect
(
fakeConnection
.
commandLog
,
<
String
>[
r''
'window.
$flutterDriver
('
{
"command"
:
"get_offset"
,
"timeout"
:
"1234"
,
"finderType"
:
"ByValueKey"
,
"keyValueString"
:
"123"
,
"keyValueType"
:
"int"
,
"offsetType"
:
"topRight"
}
') 0:00:01.234000'''
,
]);
});
});
test
(
'sends the getBottomLeft command'
,
()
async
{
test
(
'sends the getBottomLeft command'
,
()
async
{
when
(
mockConnection
.
sendCommand
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
async
{
final
String
script
=
_checkAndEncode
(
i
.
positionalArguments
[
0
]);
expect
(
Map
<
String
,
String
>.
from
(
jsonDecode
(
script
)
as
Map
<
String
,
dynamic
>),
<
String
,
String
>{
'command'
:
'get_offset'
,
'offsetType'
:
'bottomLeft'
,
'timeout'
:
_kSerializedTestTimeout
,
'finderType'
:
'ByValueKey'
,
'keyValueString'
:
'123'
,
'keyValueType'
:
'int'
,
});
return
jsonEncode
(
await
makeMockResponse
(<
String
,
double
>{
'dx'
:
11
,
'dy'
:
12
,
}));
});
final
DriverOffset
result
=
await
driver
.
getBottomLeft
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
final
DriverOffset
result
=
await
driver
.
getBottomLeft
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
expect
(
result
,
const
DriverOffset
(
11
,
12
));
expect
(
result
,
const
DriverOffset
(
11
,
12
));
expect
(
fakeConnection
.
commandLog
,
<
String
>[
r''
'window.
$flutterDriver
('
{
"command"
:
"get_offset"
,
"timeout"
:
"1234"
,
"finderType"
:
"ByValueKey"
,
"keyValueString"
:
"123"
,
"keyValueType"
:
"int"
,
"offsetType"
:
"bottomLeft"
}
') 0:00:01.234000'''
,
]);
});
});
test
(
'sends the getBottomRight command'
,
()
async
{
test
(
'sends the getBottomRight command'
,
()
async
{
when
(
mockConnection
.
sendCommand
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
async
{
final
String
script
=
_checkAndEncode
(
i
.
positionalArguments
[
0
]);
expect
(
Map
<
String
,
String
>.
from
(
jsonDecode
(
script
)
as
Map
<
String
,
dynamic
>),
<
String
,
String
>{
'command'
:
'get_offset'
,
'offsetType'
:
'bottomRight'
,
'timeout'
:
_kSerializedTestTimeout
,
'finderType'
:
'ByValueKey'
,
'keyValueString'
:
'123'
,
'keyValueType'
:
'int'
,
});
return
jsonEncode
(
await
makeMockResponse
(<
String
,
double
>{
'dx'
:
11
,
'dy'
:
12
,
}));
});
final
DriverOffset
result
=
await
driver
.
getBottomRight
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
final
DriverOffset
result
=
await
driver
.
getBottomRight
(
find
.
byValueKey
(
123
),
timeout:
_kTestTimeout
);
expect
(
result
,
const
DriverOffset
(
11
,
12
));
expect
(
result
,
const
DriverOffset
(
11
,
12
));
expect
(
fakeConnection
.
commandLog
,
<
String
>[
r''
'window.
$flutterDriver
('
{
"command"
:
"get_offset"
,
"timeout"
:
"1234"
,
"finderType"
:
"ByValueKey"
,
"keyValueString"
:
"123"
,
"keyValueType"
:
"int"
,
"offsetType"
:
"bottomRight"
}
') 0:00:01.234000'''
,
]);
});
});
});
});
test
(
'checks the health of the driver extension'
,
()
async
{
test
(
'checks the health of the driver extension'
,
()
async
{
when
(
mockConnection
.
sendCommand
(
any
,
any
)).
thenAnswer
((
Invocation
i
)
async
{
fakeConnection
.
responses
[
'get_health'
]
=
jsonEncode
(
makeFakeResponse
(<
String
,
dynamic
>{
'status'
:
'ok'
}));
final
String
script
=
_checkAndEncode
(
i
.
positionalArguments
[
0
]);
expect
(
Map
<
String
,
String
>.
from
(
jsonDecode
(
script
)
as
Map
<
String
,
dynamic
>),
<
String
,
String
>{
'command'
:
'get_health'
,
});
return
jsonEncode
(
await
makeMockResponse
(<
String
,
dynamic
>{
'status'
:
'ok'
}));
});
await
driver
.
checkHealth
();
await
driver
.
checkHealth
();
expect
(
fakeConnection
.
commandLog
,
<
String
>[
r''
'window.
$flutterDriver
('
{
"command"
:
"get_health"
}
') null'''
,
]);
});
});
group
(
'WebFlutterDriver Unimplemented/Unsupported error'
,
()
{
group
(
'WebFlutterDriver Unimplemented/Unsupported error'
,
()
{
...
@@ -1167,7 +811,7 @@ void main() {
...
@@ -1167,7 +811,7 @@ void main() {
});
});
test
(
'appIsoloate'
,
()
async
{
test
(
'appIsoloate'
,
()
async
{
expect
(()
=>
driver
.
appIsolate
.
invokeExtension
(
'abc'
,
<
String
,
String
>{
'abc'
:
'123'
})
,
expect
(()
=>
driver
.
appIsolate
.
extensionRPCs
,
throwsA
(
isA
<
UnsupportedError
>()));
throwsA
(
isA
<
UnsupportedError
>()));
});
});
...
@@ -1179,13 +823,12 @@ void main() {
...
@@ -1179,13 +823,12 @@ void main() {
});
});
group
(
'WebFlutterDriver with non-chrome browser'
,
()
{
group
(
'WebFlutterDriver with non-chrome browser'
,
()
{
MockFlutterWebConnection
mock
Connection
;
FakeFlutterWebConnection
fake
Connection
;
WebFlutterDriver
driver
;
WebFlutterDriver
driver
;
setUp
(()
{
setUp
(()
{
mockConnection
=
MockFlutterWebConnection
();
fakeConnection
=
FakeFlutterWebConnection
();
when
(
mockConnection
.
supportsTimelineAction
).
thenReturn
(
false
);
driver
=
WebFlutterDriver
.
connectedTo
(
fakeConnection
);
driver
=
WebFlutterDriver
.
connectedTo
(
mockConnection
);
});
});
test
(
'tracing'
,
()
async
{
test
(
'tracing'
,
()
async
{
...
@@ -1213,31 +856,199 @@ String _checkAndEncode(dynamic script) {
...
@@ -1213,31 +856,199 @@ String _checkAndEncode(dynamic script) {
return
script
.
substring
(
_kWebScriptPrefix
.
length
,
script
.
length
-
2
)
as
String
;
return
script
.
substring
(
_kWebScriptPrefix
.
length
,
script
.
length
-
2
)
as
String
;
}
}
Future
<
Map
<
String
,
dynamic
>>
makeMock
Response
(
vms
.
Response
makeFake
Response
(
Map
<
String
,
dynamic
>
response
,
{
Map
<
String
,
dynamic
>
response
,
{
bool
isError
=
false
,
bool
isError
=
false
,
})
{
})
{
return
Future
<
Map
<
String
,
dynamic
>>.
valu
e
(<
String
,
dynamic
>{
return
vms
.
Response
.
pars
e
(<
String
,
dynamic
>{
'isError'
:
isError
,
'isError'
:
isError
,
'response'
:
response
,
'response'
:
response
,
});
});
}
}
class
MockVMServiceClient
extends
Mock
implements
VMServiceClient
{
}
class
FakeFlutterWebConnection
extends
Fake
implements
FlutterWebConnection
{
@override
bool
supportsTimelineAction
=
false
;
Map
<
String
,
dynamic
>
responses
=
<
String
,
dynamic
>{};
List
<
String
>
commandLog
=
<
String
>[];
@override
Future
<
dynamic
>
sendCommand
(
String
script
,
Duration
duration
)
async
{
commandLog
.
add
(
'
$script
$duration
'
);
final
Map
<
String
,
dynamic
>
decoded
=
jsonDecode
(
_checkAndEncode
(
script
))
as
Map
<
String
,
dynamic
>;
final
dynamic
response
=
responses
[
decoded
[
'command'
]];
assert
(
response
!=
null
,
'Missing
${decoded['command']}
in responses.'
);
return
response
;
}
@override
Future
<
void
>
close
()
async
{
return
;
}
}
class
FakeVmService
extends
Fake
implements
vms
.
VmService
{
FakeVmService
(
this
.
vm
);
FakeVM
vm
;
bool
failOnSetFlag
=
false
;
bool
failOnResumeWith101
=
false
;
final
List
<
String
>
connectionLog
=
<
String
>[];
@override
Future
<
vms
.
VM
>
getVM
()
async
=>
vm
;
@override
Future
<
vms
.
Isolate
>
getIsolate
(
String
isolateId
)
async
{
connectionLog
.
add
(
'getIsolate'
);
if
(
isolateId
==
vm
.
isolate
.
id
)
{
return
vm
.
isolate
;
}
return
null
;
}
@override
Future
<
vms
.
Success
>
resume
(
String
isolateId
,
{
String
step
,
int
frameIndex
})
async
{
assert
(
isolateId
==
vm
.
isolate
.
id
);
connectionLog
.
add
(
'resume'
);
if
(
failOnResumeWith101
)
{
throw
vms
.
RPCError
(
'resume'
,
101
,
''
);
}
return
vms
.
Success
();
}
@override
Future
<
vms
.
Success
>
streamListen
(
String
streamId
)
async
{
connectionLog
.
add
(
'streamListen
$streamId
'
);
return
vms
.
Success
();
}
@override
Future
<
vms
.
Success
>
streamCancel
(
String
streamId
)
async
{
connectionLog
.
add
(
'streamCancel
$streamId
'
);
return
vms
.
Success
();
}
@override
Future
<
vms
.
Response
>
setFlag
(
String
name
,
String
value
)
async
{
connectionLog
.
add
(
'setFlag
$name
$value
'
);
if
(
failOnSetFlag
)
{
throw
Exception
(
'setFlag failed'
);
}
return
vms
.
Success
();
}
@override
Stream
<
vms
.
Event
>
get
onIsolateEvent
async
*
{
connectionLog
.
add
(
'onIsolateEvent'
);
yield
vms
.
Event
(
kind:
vms
.
EventKind
.
kServiceExtensionAdded
,
extensionRPC:
'ext.flutter.driver'
,
timestamp:
0
,
);
}
List
<
String
>
commandLog
=
<
String
>[];
Map
<
String
,
vms
.
Response
>
responses
=
<
String
,
vms
.
Response
>{};
Future
<
void
>
artificialExtensionDelay
;
@override
Future
<
vms
.
Response
>
callServiceExtension
(
String
method
,
{
Map
<
dynamic
,
dynamic
>
args
,
String
isolateId
})
async
{
commandLog
.
add
(
'
$method
$args
'
);
await
artificialExtensionDelay
;
final
vms
.
Response
response
=
responses
[
args
[
'command'
]];
assert
(
response
!=
null
,
'Failed to create a response for
${args['command']}
'
);
return
response
;
}
@override
Future
<
vms
.
Success
>
clearVMTimeline
()
async
{
connectionLog
.
add
(
'clearVMTimeline'
);
return
vms
.
Success
();
}
@override
Future
<
vms
.
FlagList
>
getFlagList
()
async
{
connectionLog
.
add
(
'getFlagList'
);
return
vms
.
FlagList
(
flags:
<
vms
.
Flag
>[]);
}
int
vmTimelineMicros
=
-
1000000
;
bool
incrementMicros
=
false
;
@override
Future
<
vms
.
Timestamp
>
getVMTimelineMicros
()
async
{
connectionLog
.
add
(
'getVMTimelineMicros'
);
if
(
incrementMicros
||
vmTimelineMicros
<
0
)
{
vmTimelineMicros
=
vmTimelineMicros
+
1000001
;
}
return
vms
.
Timestamp
(
timestamp:
vmTimelineMicros
);
}
@override
Future
<
vms
.
Success
>
setVMTimelineFlags
(
List
<
String
>
recordedStreams
)
async
{
connectionLog
.
add
(
'setVMTimelineFlags
$recordedStreams
'
);
return
vms
.
Success
();
}
final
Map
<
int
,
vms
.
Timeline
>
timelineResponses
=
<
int
,
vms
.
Timeline
>{
1
:
vms
.
Timeline
.
parse
(<
String
,
dynamic
>{
'traceEvents'
:
<
dynamic
>[
<
String
,
dynamic
>{
'name'
:
'test event'
,
},
],
'timeOriginMicros'
:
0
,
'timeExtentMicros'
:
999999
,
}),
};
class
MockVM
extends
Mock
implements
VM
{
}
@override
Future
<
vms
.
Timeline
>
getVMTimeline
({
int
timeOriginMicros
,
int
timeExtentMicros
})
async
{
connectionLog
.
add
(
'getVMTimeline
$timeOriginMicros
$timeExtentMicros
'
);
final
vms
.
Timeline
timeline
=
timelineResponses
[
timeOriginMicros
??
1
];
assert
(
timeline
!=
null
,
'Missing entry in timelineResponses[
$timeOriginMicros
]'
);
return
timeline
;
}
class
MockIsolate
extends
Mock
implements
VMRunnableIsolate
{
}
@override
void
dispose
()
{
connectionLog
.
add
(
'dispose'
);
}
class
MockVMPauseStartEvent
extends
Mock
implements
VMPauseStartEvent
{
}
@override
Future
<
void
>
get
onDone
async
{}
}
class
MockVMPauseBreakpointEvent
extends
Mock
implements
VMPauseBreakpointEvent
{
}
class
FakeVM
extends
Fake
implements
vms
.
VM
{
FakeVM
(
this
.
isolate
);
class
MockVMResumeEvent
extends
Mock
implements
VMResumeEvent
{
}
vms
.
Isolate
isolate
;
class
MockFlutterWebConnection
extends
Mock
implements
FlutterWebConnection
{
}
int
numberOfTriesBeforeResolvingIsolate
=
0
;
class
MockPeer
extends
Mock
implements
rpc
.
Peer
{
@override
@override
bool
get
isClosed
=>
false
;
List
<
vms
.
IsolateRef
>
get
isolates
{
numberOfTriesBeforeResolvingIsolate
-=
1
;
return
<
vms
.
Isolate
>[
if
(
numberOfTriesBeforeResolvingIsolate
<=
0
)
isolate
,
];
}
}
}
class
FakeIsolate
extends
Fake
implements
vms
.
Isolate
{
@override
String
get
number
=>
'123'
;
@override
String
get
id
=>
number
;
@override
vms
.
Event
pauseEvent
;
@override
List
<
String
>
get
extensionRPCs
=>
<
String
>[];
}
\ No newline at end of file
packages/flutter_driver/test/src/real_tests/find_test.dart
View file @
3ecac303
...
@@ -7,12 +7,11 @@
...
@@ -7,12 +7,11 @@
import
'package:flutter_driver/driver_extension.dart'
;
import
'package:flutter_driver/driver_extension.dart'
;
import
'package:flutter_driver/flutter_driver.dart'
;
import
'package:flutter_driver/flutter_driver.dart'
;
import
'package:flutter_driver/src/common/find.dart'
;
import
'package:flutter_driver/src/common/find.dart'
;
import
'package:mockito/mockito.dart'
;
import
'../../common.dart'
;
import
'../../common.dart'
;
void
main
(
)
{
void
main
(
)
{
final
MockDeserialize
mockDeserialize
=
Mock
Deserialize
();
final
FakeDeserialize
fakeDeserialize
=
Fake
Deserialize
();
test
(
'Ancestor finder serialize'
,
()
{
test
(
'Ancestor finder serialize'
,
()
{
const
SerializableFinder
of
=
ByType
(
'Text'
);
const
SerializableFinder
of
=
ByType
(
'Text'
);
...
@@ -42,7 +41,7 @@ void main() {
...
@@ -42,7 +41,7 @@ void main() {
'firstMatchOnly'
:
'true'
,
'firstMatchOnly'
:
'true'
,
};
};
final
Ancestor
a
=
Ancestor
.
deserialize
(
serialized
,
mock
Deserialize
);
final
Ancestor
a
=
Ancestor
.
deserialize
(
serialized
,
fake
Deserialize
);
expect
(
a
.
of
,
isA
<
ByType
>());
expect
(
a
.
of
,
isA
<
ByType
>());
expect
(
a
.
matching
,
isA
<
ByValueKey
>());
expect
(
a
.
matching
,
isA
<
ByValueKey
>());
expect
(
a
.
matchRoot
,
isTrue
);
expect
(
a
.
matchRoot
,
isTrue
);
...
@@ -77,7 +76,7 @@ void main() {
...
@@ -77,7 +76,7 @@ void main() {
'firstMatchOnly'
:
'true'
,
'firstMatchOnly'
:
'true'
,
};
};
final
Descendant
a
=
Descendant
.
deserialize
(
serialized
,
mock
Deserialize
);
final
Descendant
a
=
Descendant
.
deserialize
(
serialized
,
fake
Deserialize
);
expect
(
a
.
of
,
isA
<
ByType
>());
expect
(
a
.
of
,
isA
<
ByType
>());
expect
(
a
.
matching
,
isA
<
ByValueKey
>());
expect
(
a
.
matching
,
isA
<
ByValueKey
>());
expect
(
a
.
matchRoot
,
isTrue
);
expect
(
a
.
matchRoot
,
isTrue
);
...
@@ -85,4 +84,4 @@ void main() {
...
@@ -85,4 +84,4 @@ void main() {
});
});
}
}
class
MockDeserialize
with
Mock
,
DeserializeFinderFactory
{
}
class
FakeDeserialize
extends
Fake
with
DeserializeFinderFactory
{
}
packages/flutter_tools/pubspec.yaml
View file @
3ecac303
...
@@ -85,7 +85,7 @@ dependencies:
...
@@ -85,7 +85,7 @@ dependencies:
pedantic
:
1.10.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pedantic
:
1.10.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
petitparser
:
3.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
petitparser
:
3.1.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
platform
:
3.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
platform
:
3.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
quiver
:
2.1.
3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
quiver
:
2.1.
4+1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_proxy
:
0.1.0+7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_proxy
:
0.1.0+7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_map_stack_trace
:
2.1.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_map_stack_trace
:
2.1.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_maps
:
0.10.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_maps
:
0.10.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -113,4 +113,4 @@ dartdoc:
...
@@ -113,4 +113,4 @@ dartdoc:
# Exclude this package from the hosted API docs.
# Exclude this package from the hosted API docs.
nodoc
:
true
nodoc
:
true
# PUBSPEC CHECKSUM:
cda8
# PUBSPEC CHECKSUM:
3206
packages/fuchsia_remote_debug_protocol/pubspec.yaml
View file @
3ecac303
...
@@ -32,7 +32,6 @@ dependencies:
...
@@ -32,7 +32,6 @@ dependencies:
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
meta
:
1.3.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
path
:
1.8.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
path
:
1.8.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
platform
:
3.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
platform
:
3.0.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pub_semver
:
1.4.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_span
:
1.8.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_span
:
1.8.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stack_trace
:
1.10.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stack_trace
:
1.10.0-nullsafety.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_channel
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
stream_channel
:
2.1.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -42,7 +41,7 @@ dependencies:
...
@@ -42,7 +41,7 @@ dependencies:
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_api
:
0.2.19-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
typed_data
:
1.3.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vector_math
:
2.1.0-nullsafety.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
_client
:
0.2.6+2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webdriver
:
2.1.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
dev_dependencies
:
dev_dependencies
:
...
@@ -68,6 +67,7 @@ dev_dependencies:
...
@@ -68,6 +67,7 @@ dev_dependencies:
package_config
:
1.9.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
package_config
:
1.9.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pedantic
:
1.10.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pedantic
:
1.10.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pool
:
1.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pool
:
1.5.0-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
pub_semver
:
1.4.4
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf
:
0.7.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf
:
0.7.5
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_packages_handler
:
2.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_packages_handler
:
2.0.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_static
:
0.2.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
shelf_static
:
0.2.8
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
...
@@ -75,9 +75,8 @@ dev_dependencies:
...
@@ -75,9 +75,8 @@ dev_dependencies:
source_map_stack_trace
:
2.1.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_map_stack_trace
:
2.1.0-nullsafety.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_maps
:
0.10.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
source_maps
:
0.10.10-nullsafety.2
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
test_core
:
0.3.12-nullsafety.7
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
vm_service
:
4.2.0
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
watcher
:
0.9.7+15
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webkit_inspection_protocol
:
0.7.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
webkit_inspection_protocol
:
0.7.3
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
yaml
:
2.2.1
# THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
# PUBSPEC CHECKSUM:
2393
# PUBSPEC CHECKSUM:
81ce
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