Commit 35d9502
Disposes test restoration manager when accessed by bindings (#176519)
Fixes #169119
## Details
The error caused by drag is due to the reference to
`ServicesBinding.instance.restorationManager` in the
`ScrollableState.saveOffset` method.
https://github.com/flutter/flutter/blob/018897e3f12c5783fb025bcbd92515a69d4d5c32/packages/flutter/lib/src/widgets/scrollable.dart#L648-L656
The TestWidgetsFlutterBinding now only cleans up the
`restorationManager` when `reset` is called. Therefore, we need to find
an appropriate place to clean up the `restorationManager`.
https://github.com/flutter/flutter/blob/018897e3f12c5783fb025bcbd92515a69d4d5c32/packages/flutter_test/lib/src/binding.dart#L239-L263
https://github.com/flutter/flutter/blob/018897e3f12c5783fb025bcbd92515a69d4d5c32/packages/flutter_test/lib/src/widget_tester.dart#L188-L193
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
---------
Co-authored-by: Victor Sanni <victorsanniay@gmail.com>1 parent 101ace2 commit 35d9502
2 files changed
Lines changed: 31 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1067 | 1067 | | |
1068 | 1068 | | |
1069 | 1069 | | |
| 1070 | + | |
| 1071 | + | |
1070 | 1072 | | |
1071 | 1073 | | |
1072 | 1074 | | |
| |||
Lines changed: 29 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
0 commit comments