tree c3a8113a5f6ebf6b645d32d8cb2dba315120719a
parent c652e45cd186c364ee641d041a33e520a452ed63
author Navaron Bracke <brackenavaron@gmail.com> 1768611236 +0100
committer GitHub <noreply@github.com> 1768611236 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJpaugeCRC1aQ7uu5UhlAAAzHcQAF8VRUs+saJ1Uvt5CP34gYqP
 IsA/3U4KGrgWlCNJp5PjZMkjDCQujnaz9RKEskZR0rpT5LLdWEj33nxWJb/VH17X
 jQhUq5k80b1g1gNHAs3deek5VRkkqVWCO3YPH3e6oxcPmb6u9LWhJMz5Jua+kXbq
 1DYXMJnTrRqowTcsFg6nu6FPzhWRX29y6fVQSCpvZQmHOKx3fAxgp+dz7DGGoxtR
 SX/lqaklDOYm0L4tI/vjwnXVnNr4TPp8MUamvm8onSNdBUQ5HVycMOG9jmNixE+2
 wyAx/egJ1C7RRU/83QwhbvmrRCosHCdjX9TqI3bVn7I/OVR21e0loi7x0R+eTilp
 1saeZck2Jn9+4t+iglpkbBwdkTXHSvi+KSmrxvt3CHqeWz8EtB6OQE+qcbSQv9uz
 SmwZMb61uv4wZtnLkufHBsYcWZXeaeIF9IIfn8mC/h+S77vBrKww4B4MtF0OoRsr
 aicF2ycLt4b0J44y584fmES5IiUaLwWkWKBbIJGaBDziRJZgThrk1NjSMGYzD50p
 aWAUxg4a5tlBEIzRqFkZ368nicfpZ+oJU+WTajUY55DQnXgywA2PqkDOWOoMA9uz
 hpt1HS7i6ac8thvAYr1hNF1WDgLKbiihAAXbQT2ieN2ClyDuGS5c5cEDeNmOhbnS
 jIknVPMsUu4XIfLUxotd
 =ZKlM
 -----END PGP SIGNATURE-----
 

clean up usages of resetXyz for TestFlutterView (#180840)

While reviewing https://github.com/flutter/flutter/pull/180728 we
noticed that usage of `TestFlutterView.resetXyz()` was quite liberal and
some places benefit from using `TestFlutterView.reset()`, to avoid
repetition.

This PR cleans that up.

## 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].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [x] 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].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md