* Upgrade everything except matcher.
* Roll matcher (and test)
* Adjust tests that depend on flutter:test directly to depend on a shim
* Require use of package:test shim and remove other references to package:test
1. Make goldenFileComparator getter return `null` if it's set to the
uninitialized comparator, which matches the behavior of the setter
(it sets it to the uninitialized comparator if the caller specifies
`null`).
2. Make the uninitialized comparator return trivial success (and print
a message) when asked to compare as opposed to throwing. This ensures
that the comparator will play nicely with live widget bindings
3. Augment documentation
4. Add assert that test doesn't modify the value of `autoUpdateGoldenFiles`
This will allow external tools that wrap our test harness to share the
code that generates the test bootstrap.
This change exposed an issue whereby the LocalGoldenFileComparator
was being too strict in its URI handling, so this changes relaxes
that constraint as well (and adds associated tests).
* Exclude flutter_goldens package from dartdoc because it's for internal
use only
* Document why flutter_tools doesn' tneed to be excluded from the list of
packages to document
* Performance optimization in the flutter comparator, and associated
test updates.
In order to avoid checking binaries into flutter/flutter,
this comparator can be used to retrieve golden files from
a sibling flutter/goldens repository.
https://github.com/flutter/flutter/issues/16859
This enables support for a `flutter_test_config.dart` configuration file,
which will be discovered and handed the responsibility of running the
test file (thus allowing it to run pre-test setup on a project level).
https://github.com/flutter/flutter/issues/16859
* Add a `matchesGoldenFile()` async matcher that will match
a finder's widget's rasterized image against a golden file.
* Add support for pluggable image comparison backends
* Add a default backend that does simplistic PNG byte
comparison on locally stored golden files.
* Add support for `flutter test --update-goldens`, which will
treat the rasterized image bytes produced during the test
as the new golden bytes and update the golden file accordingly
Still TODO:
* Add support for the `flutter_test_config.dart` test config hook
* Utilize `flutter_test_config.dart` in `packages/flutter/test`
to install a backend that retrieves golden files from a dedicated
`flutter/goldens` repo
https://github.com/flutter/flutter/issues/16859