Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.15.2
-
None
Description
Calling mouseDrag one would expect the mouse to press at the start point and move to the end point continuously. The test below produces results showing that is not the case. Possibly related to QTBUG-83637
Test
import QtQuick 2.14 import QtTest 1.14 MouseArea { id: root width: 200 height: 200 signal mouseDragSignal(string signalName, int mouse_x) onPressed: { root.mouseDragSignal("pressed", mouse.x) } onPositionChanged: { root.mouseDragSignal("positionChanged", mouse.x) } onReleased: { root.mouseDragSignal("released", mouse.x) } SignalSpy { id: mouseDragSignalSpy target: root signalName: "mouseDragSignal" } TestCase { id: testCase name: "MouseDragTests" when: windowShown function test_affect_of_mouseDrag_on_positionChanged() { let start = 1 let dragDist = 1 mouseDrag(root, start, start, dragDist, dragDist) let mouseStayedBetweenStartAndEndPt = true for (let i = 0; i < mouseDragSignalSpy.signalArguments.length; i++) { let signalName = mouseDragSignalSpy.signalArguments[i][0] let mouse_x = mouseDragSignalSpy.signalArguments[i][1] print("signalName: " + signalName + " mouse_x: " + mouse_x) if(mouse_x < start || mouse_x > start + dragDist) mouseStayedBetweenStartAndEndPt = false } verify(mouseStayedBetweenStartAndEndPt) } } }
Results (cause of concern is second line where "mouse_x: 12")
QDEBUG : MouseDragTests::test_affect_of_mouseDrag_on_positionChanged() qml: signalName: pressed mouse_x: 1
QDEBUG : MouseDragTests::test_affect_of_mouseDrag_on_positionChanged() qml: signalName: positionChanged mouse_x: 12
QDEBUG : MouseDragTests::test_affect_of_mouseDrag_on_positionChanged() qml: signalName: positionChanged mouse_x: 3
QDEBUG : MouseDragTests::test_affect_of_mouseDrag_on_positionChanged() qml: signalName: released mouse_x: 3
FAIL! : MouseDragTests::test_affect_of_mouseDrag_on_positionChanged() 'verify()' returned FALSE. ()