Fixes https://github.com/flutter/flutter/issues/59413
This relocates `mock_canvas.dart` and `recording_canvas.dart` from `flutter/test/rendering` to `flutter_test`.
The testing functionality afforded by mock_canvas should be available to everyone, not just the framework. :)
mock_canvas.dart needed a bit of cleanup - things like formatting and super parameters.
Fixes https://github.com/flutter/flutter/issues/129969 by making tooltip text unselectable (for now).
Also fixes some other issues uncovered when I was writing the tests.
Currently `getTransformTo` only works on ancestors. I'll try to add a new method that computes the transform from 2 arbitrary render objects in the same render tree in a follow-up PR and make `Selectable` use that method instead.
Updates most of the unit tests in the packages/flutter/test/material folder so that they'll pass if ThemeData.useMaterial3 defaults to true.
All of the tests have wired useMaterial3 to false and will need to be updated with a M3 version.
related to #127064
Fixes https://github.com/flutter/flutter/issues/127575
The `_handleMouseEnter` and `_handleMouseExit` calls are balanced, but the tooltip could be dismissed by an external `PointerDown` event interacting with a different UI component so the ` assert(_activeHoveringPointerDevices.isNotEmpty);` does not really make sense.
Fixes https://github.com/flutter/flutter/issues/117627
### Behavior changes:
1. If fade in/fade out animation is already in progress, hiding/showing the tooltip will immediately take effect without waiting for `waitDuration`.
2. A PointerDownEvent that doesn't become a part of a "trigger" gesture dismisses the tooltip, even for hovered ones.
3. The OverlayEntry is now updated only when the previous tooltip was completely dismissed. This can be fixed by OverlayPortal but I'm not sure what the correct behavior is.
Fixing #126206 and #113388 issues
*The IgnorePointer is preventing the richMessage touch events being recognized. Just removing that from*
*Solves #126206 and #113388*
* Check whether slider is mounted before interaction, no-op if unmounted (#113556)
* Check whether slider is unmounted before interaction
* Update slider.dart
* Update Slider
* Add test
* Update slider_test.dart
* Update packages/flutter/test/material/slider_test.dart
Co-authored-by: Taha Tesser <tessertaha@gmail.com>
Co-authored-by: Taha Tesser <tessertaha@gmail.com>
* exposed tooltip longPress action when available
* updated tooltip test
* updated date picker test
---------
Co-authored-by: Mingyu <lyming90@gmail.com>
Co-authored-by: Taha Tesser <tessertaha@gmail.com>
Co-authored-by: Harper Liu <harperl0818@gmail.com>
* Revert "Exposed tooltip longPress action when available (#117338)"
This reverts commit 38e3930f39d8efca0a27f9663129d27a9093cca8.
* Revert "fixes android_semantics_integration_test to expect long press for tootip"
In the process of fixing #90044, I realized that it's also possible for hovered tooltips to show more than one at a time if the widgets are nested, so this PR is a fix that prevents more than one tooltip from showing at a time with hovered tooltips.