flutter/dev/integration_tests/deferred_components_test
Greg Spencer ab2b0851a2
Add smoke tests for all the examples, fix 17 broken examples. (#89021)
This adds a smoke test for every single API example. It also fixes 17 tests that had bugs in them, or were otherwise broken, and even fixes one actual bug in the framework, and one limitation in the framework.

The bug in the framework is that NetworkImage's _loadAsync method had await response.drain<List<int>>();, but if the response is null, it will throw a cryptic exception saying that Null can't be assigned to List<int>. The fix was just to use await response.drain<void>(); instead.

The limitation is that RelativePositionedTransition takes an Animation<Rect> rect parameter, and if you want to use a RectTween with it, the value emitted there is Rect?, and one of the examples was just casting from Animation<Rect> to Animation<Rect?>, which is invalid, so I modified RelativePositionedTransition to take a Rect? and just use Rect.zero if the rect is null.
2021-09-28 09:32:06 -07:00
..
android Deferred components integration test app (#88030) 2021-08-16 15:32:05 -07:00
lib Remove and also ignore unnecessary imports (#89796) 2021-09-14 15:32:02 -07:00
test_driver Deferred components integration test app (#88030) 2021-08-16 15:32:05 -07:00
.gitignore Download script for deferred components assets (#88905) 2021-08-26 15:18:37 -07:00
deferred_components_loading_units.yaml Deferred components integration test app (#88030) 2021-08-16 15:32:05 -07:00
download_assets.sh Download script for deferred components assets (#88905) 2021-08-26 15:18:37 -07:00
pubspec.yaml Add smoke tests for all the examples, fix 17 broken examples. (#89021) 2021-09-28 09:32:06 -07:00
README.md Download script for deferred components assets (#88905) 2021-08-26 15:18:37 -07:00
run_release_test.sh Directly specify keystore to prevent debug key signing flake in Deferred components integration test. (#89606) 2021-09-08 13:08:41 -07:00

Deferred components integration test app

Setup

This integration test app requires manually downloading additional assets to build. Run

./download_assets.sh

before running any of the tests.

Tests

This app contains two sets of tests:

  • flutter drive tests that run a debug mode app to validate framework side logic
  • run_release_test.sh <bundletool.jar path> which builds and installs a release version of this app and validates the loading units are loaded correctly. A path to bundletool.jar must be provided