Change `Flexible`'s default `FlexFit`
Previously, `Flexible` defaulted to `FlexFit.tight`, which forced the child to
expand to fill the available space. Now, `Flexible` defaults to
`FlexFit.loose`, which does not force the child to expand to fill the available
space.
If you want the child to expand to fill the available space, consider using
`Expanded` instead.
Fixes#5169
We now produce a more reasonable error message when we're missing the
flutter_test dependency in a test. Also, remove the flutter_tools stack traces
when the engine dies.
Fixes#6187
Each stack trace will yield many async task stacks for every write request
that is in flight. If the device side is unresponsive and all writes are
failing, then this can generate an overwhelming amount of logs.
Fixes https://github.com/flutter/flutter/issues/7351
When a test runs to completion, the test harness closes the stream side of the
StreamChannel, causing the sink side to be closed as well. So by the time we
receive a test result of completed/harnessBailed, the controller sink has been
closed.
- better documentation
- verify (at run time) that onNotification doesn't return null, and
report copious helpful information if it does.
- add a toString/debugFillDescription convention to Notification.
- actually test Notification
This removes direct file access from within flutter_tools
in favor of using `package:file` via a `FileSystem` that's
accessed via the `ApplicationContext`.
This lays the groundwork for us to be able to easily swap
out the underlying file system when running Flutter tools,
which will be used to provide a record/replay file system,
analogous to what we have for process invocations.
LayoutCallback passes constraints to the callback, but the constraints
object has a different type for different subclasses. This lets you
call invokeLayoutCallback() with a specific type to verify that
everything is working as expected.
Other changes:
Slightly improve the error reporting in RenderObject.
Allow toStringShallow on RenderObject to have its separator configured.
Also, make hasOneLineDescription more discerning.
Also, add a test for hasOneLineDescription.
Also, add a test for GravitySimulation, to test the toString.
- more dartdocs for the drag typedefs
- more toStrings to aid debugging
- require the position for DragUpdateDetails since we were omitting it
in some places
- add the primaryVelocity to DragEndDetails so that consumers don't
have to themselves track the axis in question
- fix the velocity tracker so that it doesn't walk the null data.
Previously, near time t=0 (which pretty much only matters in tests,
but it does matter there) we would walk the velocity data and then
also walk missing data, treating it as Point.zero with t=0.
- simplify some of the velocity tracker; e.g. instead of trying (and
failing?) to clear the velocity tracker when the pointer stalls,
just drop the data before a stall during the velocity estimation
(where we redundantly had another bigger horizon anyway).
Previously, SizeChangedLayoutNotifier fired a notification even for
the first layout.
Also, previously its test relied on that, and didn't actually change
size at all. This fixes the test as well.
Also, rename SizeChangedLayoutNotificaion to SizeChangedLayoutNotification.
```dart
expect(x, moreOrLessEquals(0.0));
```
...for those cases where `x` might be 1e-11 or whatever.
Also, be more resilient when dumping the tree from inside the test framework.
Also, add an assert that helped me debug something the other day.
This lets you use `Listenable.merge` without having to sanitize your
incoming list of change notifiers, in case your semantics are that
they are optional.