Material text selection menu should not show pointer cursor (#100248)
This commit is contained in:
parent
ff74557c3a
commit
30846de3ec
@ -332,6 +332,8 @@ class _DesktopTextSelectionToolbarButton extends StatelessWidget {
|
|||||||
child: TextButton(
|
child: TextButton(
|
||||||
style: TextButton.styleFrom(
|
style: TextButton.styleFrom(
|
||||||
alignment: Alignment.centerLeft,
|
alignment: Alignment.centerLeft,
|
||||||
|
enabledMouseCursor: SystemMouseCursors.basic,
|
||||||
|
disabledMouseCursor: SystemMouseCursors.basic,
|
||||||
primary: primary,
|
primary: primary,
|
||||||
shape: const RoundedRectangleBorder(),
|
shape: const RoundedRectangleBorder(),
|
||||||
minimumSize: const Size(kMinInteractiveDimension, 36.0),
|
minimumSize: const Size(kMinInteractiveDimension, 36.0),
|
||||||
|
@ -10027,6 +10027,45 @@ void main() {
|
|||||||
await gesture.moveTo(center);
|
await gesture.moveTo(center);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
testWidgets('Text selection menu does not change mouse cursor when hovered', (WidgetTester tester) async {
|
||||||
|
final TextEditingController controller = TextEditingController(
|
||||||
|
text: 'Atwater Peel Sherbrooke Bonaventure',
|
||||||
|
);
|
||||||
|
await tester.pumpWidget(
|
||||||
|
MaterialApp(
|
||||||
|
home: Material(
|
||||||
|
child: MouseRegion(
|
||||||
|
cursor: SystemMouseCursors.forbidden,
|
||||||
|
child: TextField(
|
||||||
|
controller: controller,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(find.text('Copy'), findsNothing);
|
||||||
|
|
||||||
|
final TestGesture gesture = await tester.startGesture(
|
||||||
|
textOffsetToPosition(tester, 3),
|
||||||
|
kind: PointerDeviceKind.mouse,
|
||||||
|
buttons: kSecondaryMouseButton,
|
||||||
|
);
|
||||||
|
addTearDown(gesture.removePointer);
|
||||||
|
await tester.pump();
|
||||||
|
await gesture.up();
|
||||||
|
await tester.pumpAndSettle();
|
||||||
|
|
||||||
|
expect(RendererBinding.instance.mouseTracker.debugDeviceActiveCursor(1), SystemMouseCursors.text);
|
||||||
|
expect(find.text('Copy'), findsOneWidget);
|
||||||
|
|
||||||
|
await gesture.moveTo(tester.getCenter(find.text('Copy')));
|
||||||
|
expect(RendererBinding.instance.mouseTracker.debugDeviceActiveCursor(1), SystemMouseCursors.basic);
|
||||||
|
},
|
||||||
|
variant: TargetPlatformVariant.desktop(),
|
||||||
|
skip: isContextMenuProvidedByPlatform, // [intended] only applies to platforms where we supply the context menu.
|
||||||
|
);
|
||||||
|
|
||||||
testWidgets('Caret rtl with changing width', (WidgetTester tester) async {
|
testWidgets('Caret rtl with changing width', (WidgetTester tester) async {
|
||||||
late StateSetter setState;
|
late StateSetter setState;
|
||||||
bool isWide = false;
|
bool isWide = false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user