summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@theqtcompany.com>2015-07-17 15:06:22 +0200
committerSimon Hausmann <simon.hausmann@theqtcompany.com>2015-07-17 16:35:42 +0200
commitb2603b76655ac819e43c063bb6f16bc95f358083 (patch)
tree0fbe2c367ebfffdb70e9e3f21a7cf408bafd9626 /tests/auto/widgets
parent99b94aadf875c822afb6c2580e43355ac392ac92 (diff)
parent756266d01560157b7274e466b9ffc1b0e2ef9a1f (diff)
Merge remote-tracking branch 'origin/5.5' into HEAD
Conflicts: src/plugins/platforms/windows/qwindowsopengltester.cpp Change-Id: Ia7abeba9395ccf84e2fa81b91a5725a86dedb9fe
Diffstat (limited to 'tests/auto/widgets')
-rw-r--r--tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp55
-rw-r--r--tests/auto/widgets/kernel/qaction/tst_qaction.cpp38
-rw-r--r--tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp8
3 files changed, 64 insertions, 37 deletions
diff --git a/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp b/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
index b06a63365c..507a41f3c6 100644
--- a/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
+++ b/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
@@ -306,6 +306,7 @@ void tst_QListView::init()
void tst_QListView::cleanup()
{
+ QVERIFY(QApplication::topLevelWidgets().isEmpty());
}
@@ -791,14 +792,31 @@ void tst_QListView::hideFirstRow()
QTest::qWait(10);
}
+static int modelIndexCount(const QAbstractItemView *view)
+{
+ QBitArray ba;
+ for (int y = 0, height = view->height(); y < height; ++y) {
+ const QModelIndex idx = view->indexAt( QPoint(1, y) );
+ if (!idx.isValid())
+ break;
+ if (idx.row() >= ba.size())
+ ba.resize(idx.row() + 1);
+ ba.setBit(idx.row(), true);
+ }
+ return ba.size();
+}
+
void tst_QListView::batchedMode()
{
+ const int rowCount = 3;
+
QStringList items;
- for (int i=0; i <3; ++i)
- items << "item";
+ for (int i = 0; i < rowCount; ++i)
+ items << QLatin1String("item ") + QString::number(i);
QStringListModel model(items);
QListView view;
+ view.setWindowTitle(QTest::currentTestFunction());
view.setModel(&model);
view.setUniformItemSizes(true);
view.setViewMode(QListView::ListMode);
@@ -807,22 +825,8 @@ void tst_QListView::batchedMode()
view.resize(200,400);
view.show();
QVERIFY(QTest::qWaitForWindowExposed(&view));
- QTest::qWait(100);
-
-#if defined(Q_OS_WINCE)
- QTest::qWait(2000);
-#endif
- QBitArray ba;
- for (int y = 0; y < view.height(); ++y) {
- QModelIndex idx = view.indexAt( QPoint(1, y) );
- if (!idx.isValid())
- break;
- if (idx.row() >= ba.size())
- ba.resize(idx.row() + 1);
- ba.setBit(idx.row(), true);
- }
- QCOMPARE(ba.size(), 3);
+ QTRY_COMPARE(modelIndexCount(&view), rowCount);
// Test the dynamic listview too.
view.setViewMode(QListView::IconMode);
@@ -830,22 +834,7 @@ void tst_QListView::batchedMode()
view.setFlow(QListView::TopToBottom);
view.setBatchSize(2);
-#if !defined(Q_OS_WINCE)
- QTest::qWait(100);
-#else
- QTest::qWait(2000);
-#endif
-
- ba.clear();
- for (int y = 0; y < view.height(); ++y) {
- QModelIndex idx = view.indexAt( QPoint(1, y) );
- if (!idx.isValid())
- break;
- if (idx.row() >= ba.size())
- ba.resize(idx.row() + 1);
- ba.setBit(idx.row(), true);
- }
- QCOMPARE(ba.size(), 3);
+ QTRY_COMPARE(modelIndexCount(&view), rowCount);
}
void tst_QListView::setCurrentIndex()
diff --git a/tests/auto/widgets/kernel/qaction/tst_qaction.cpp b/tests/auto/widgets/kernel/qaction/tst_qaction.cpp
index be1fed2be3..897128d40e 100644
--- a/tests/auto/widgets/kernel/qaction/tst_qaction.cpp
+++ b/tests/auto/widgets/kernel/qaction/tst_qaction.cpp
@@ -69,6 +69,7 @@ private slots:
void task200823_tooltip();
void task229128TriggeredSignalWithoutActiongroup();
void task229128TriggeredSignalWhenInActiongroup();
+ void repeat();
private:
int m_lastEventType;
@@ -380,5 +381,42 @@ void tst_QAction::task229128TriggeredSignalWhenInActiongroup()
QCOMPARE(actionSpy.count(), 1);
}
+void tst_QAction::repeat()
+{
+ QWidget *wid = m_tstWidget;
+ QAction act(wid);
+ wid->addAction(&act);
+ act.setShortcut(QKeySequence(Qt::Key_F));
+ QSignalSpy spy(&act, SIGNAL(triggered()));
+
+ act.setAutoRepeat(true);
+ QTest::keyPress(wid, Qt::Key_F);
+ QTest::keyRelease(wid, Qt::Key_F);
+ QCOMPARE(spy.count(), 1);
+
+ spy.clear();
+ QTest::keyPress(wid, Qt::Key_F);
+ // repeat event
+ QTest::simulateEvent(wid, true, Qt::Key_F, Qt::NoModifier, QString("f"), true);
+ QTest::simulateEvent(wid, true, Qt::Key_F, Qt::NoModifier, QString("f"), true);
+ QTest::keyRelease(wid, Qt::Key_F);
+ QCOMPARE(spy.count(), 3);
+
+ spy.clear();
+ act.setAutoRepeat(false);
+ QTest::keyPress(wid, Qt::Key_F);
+ QTest::simulateEvent(wid, true, Qt::Key_F, Qt::NoModifier, QString("f"), true);
+ QTest::simulateEvent(wid, true, Qt::Key_F, Qt::NoModifier, QString("f"), true);
+ QTest::keyRelease(wid, Qt::Key_F);
+ QCOMPARE(spy.count(), 1);
+
+ spy.clear();
+ act.setAutoRepeat(true);
+ QTest::keyPress(wid, Qt::Key_F);
+ QTest::simulateEvent(wid, true, Qt::Key_F, Qt::NoModifier, QString("f"), true);
+ QTest::keyRelease(wid, Qt::Key_F);
+ QCOMPARE(spy.count(), 2);
+}
+
QTEST_MAIN(tst_QAction)
#include "tst_qaction.moc"
diff --git a/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp b/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp
index 15532bf4fd..84956d0a02 100644
--- a/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp
+++ b/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp
@@ -2088,11 +2088,12 @@ void tst_QApplication::touchEventPropagation()
window.resize(200, 200);
window.setObjectName("2. window");
TouchEventPropagationTestWidget widget(&window);
+ widget.resize(200, 200);
widget.setObjectName("2. widget");
window.show();
QVERIFY(QTest::qWaitForWindowExposed(&window));
- pressedTouchPoints[0].setScreenPos(window.mapToGlobal(QPoint(0, 0)));
- releasedTouchPoints[0].setScreenPos(window.mapToGlobal(QPoint(0, 0)));
+ pressedTouchPoints[0].setScreenPos(window.mapToGlobal(QPoint(50, 50)));
+ releasedTouchPoints[0].setScreenPos(window.mapToGlobal(QPoint(50, 50)));
QWindowSystemInterface::handleTouchEvent(window.windowHandle(),
0,
@@ -2102,9 +2103,8 @@ void tst_QApplication::touchEventPropagation()
0,
device,
touchPointList(releasedTouchPoints));
- QCoreApplication::processEvents();
+ QTRY_VERIFY(widget.seenMouseEvent);
QVERIFY(!widget.seenTouchEvent);
- QVERIFY(widget.seenMouseEvent);
QVERIFY(!window.seenTouchEvent);
QVERIFY(window.seenMouseEvent);