diff --git a/autotests/parttest.cpp b/autotests/parttest.cpp index e9fe9b0eb..bce91937b 100644 --- a/autotests/parttest.cpp +++ b/autotests/parttest.cpp @@ -771,13 +771,21 @@ void PartTest::testeRectSelectionStartingOnLinks() void PartTest::simulateMouseSelection(double startX, double startY, double endX, double endY, QWidget *target) { + const int steps = 5; + const double diffX = endX - startX; + const double diffY = endY - startY; + const double diffXStep = diffX / steps; + const double diffYStep = diffY / steps; + QTestEventList events; events.addMouseMove(QPoint(startX, startY)); events.addMousePress(Qt::LeftButton, Qt::NoModifier, QPoint(startX, startY)); + for (int i = 0; i < steps - 1; ++i) { + events.addMouseMove(QPoint(startX + i * diffXStep, startY + i * diffYStep)); + events.addDelay(100); + } events.addMouseMove(QPoint(endX, endY)); - // without this wait the test fails. 100ms were enough on my local system, but when running under valgrind - // or on the CI server we need to wait longer. - events.addDelay(1000); + events.addDelay(100); events.addMouseRelease(Qt::LeftButton, Qt::NoModifier, QPoint(endX, endY)); events.simulate(target);