summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/widgets')
-rw-r--r--tests/auto/widgets/dialogs/qfilesystemmodel/qfilesystemmodel.pro5
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp61
-rw-r--r--tests/auto/widgets/itemviews/qcolumnview/tst_qcolumnview.cpp13
-rw-r--r--tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp7
-rw-r--r--tests/auto/widgets/util/qundogroup/tst_qundogroup.cpp9
-rw-r--r--tests/auto/widgets/util/qundostack/tst_qundostack.cpp8
-rw-r--r--tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp35
7 files changed, 128 insertions, 10 deletions
diff --git a/tests/auto/widgets/dialogs/qfilesystemmodel/qfilesystemmodel.pro b/tests/auto/widgets/dialogs/qfilesystemmodel/qfilesystemmodel.pro
index e77364c3f0..d180054ca8 100644
--- a/tests/auto/widgets/dialogs/qfilesystemmodel/qfilesystemmodel.pro
+++ b/tests/auto/widgets/dialogs/qfilesystemmodel/qfilesystemmodel.pro
@@ -1,11 +1,10 @@
CONFIG += testcase
-# This testcase can be slow on Windows and may interfere with other file system tests.
+# This testcase can be slow on Windows and OS X, and may interfere with other file system tests.
win32:testcase.timeout = 900
+macx:testcase.timeout = 900
QT += widgets widgets-private
QT += core-private gui testlib
SOURCES += tst_qfilesystemmodel.cpp
TARGET = tst_qfilesystemmodel
-
-mac:CONFIG+=insignificant_test # QTBUG-27890
diff --git a/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp
index 3e24257736..9353aa0eba 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp
@@ -471,6 +471,7 @@ private slots:
void QTBUG_16374_crashInDestructor();
void QTBUG_20699_focusScopeCrash();
void QTBUG_30990_rightClickSelection();
+ void QTBUG_21618_untransformable_sceneTransform();
private:
QList<QGraphicsItem *> paintedItems;
@@ -11496,5 +11497,65 @@ void tst_QGraphicsItem::QTBUG_30990_rightClickSelection()
QVERIFY(!item2->isSelected());
}
+void tst_QGraphicsItem::QTBUG_21618_untransformable_sceneTransform()
+{
+ QGraphicsScene scene(0, 0, 150, 150);
+ scene.addRect(-2, -2, 4, 4);
+
+ QGraphicsItem *item1 = scene.addRect(0, 0, 100, 100, QPen(), Qt::red);
+ item1->setPos(50, 50);
+ item1->translate(50, 50);
+ item1->rotate(90);
+ QGraphicsItem *item2 = scene.addRect(0, 0, 100, 100, QPen(), Qt::green);
+ item2->setPos(50, 50);
+ item2->translate(50, 50);
+ item2->rotate(90);
+ item2->setFlags(QGraphicsItem::ItemIgnoresTransformations);
+
+ QGraphicsRectItem *item1_topleft = new QGraphicsRectItem(QRectF(-2, -2, 4, 4));
+ item1_topleft->setParentItem(item1);
+ item1_topleft->setBrush(Qt::black);
+ QGraphicsRectItem *item1_bottomright = new QGraphicsRectItem(QRectF(-2, -2, 4, 4));
+ item1_bottomright->setParentItem(item1);
+ item1_bottomright->setPos(100, 100);
+ item1_bottomright->setBrush(Qt::yellow);
+
+ QGraphicsRectItem *item2_topleft = new QGraphicsRectItem(QRectF(-2, -2, 4, 4));
+ item2_topleft->setParentItem(item2);
+ item2_topleft->setBrush(Qt::black);
+ QGraphicsRectItem *item2_bottomright = new QGraphicsRectItem(QRectF(-2, -2, 4, 4));
+ item2_bottomright->setParentItem(item2);
+ item2_bottomright->setPos(100, 100);
+ item2_bottomright->setBrush(Qt::yellow);
+
+ QCOMPARE(item1->sceneTransform(), item2->sceneTransform());
+ QCOMPARE(item1_topleft->sceneTransform(), item2_topleft->sceneTransform());
+ QCOMPARE(item1_bottomright->sceneTransform(), item2_bottomright->sceneTransform());
+ QCOMPARE(item1->deviceTransform(QTransform()), item2->deviceTransform(QTransform()));
+ QCOMPARE(item1->deviceTransform(QTransform()).map(QPointF()), QPointF(100, 100));
+ QCOMPARE(item2->deviceTransform(QTransform()).map(QPointF()), QPointF(100, 100));
+ QCOMPARE(item1->deviceTransform(QTransform()).map(QPointF(100, 100)), QPointF(0, 200));
+ QCOMPARE(item2->deviceTransform(QTransform()).map(QPointF(100, 100)), QPointF(0, 200));
+ QCOMPARE(item1_topleft->deviceTransform(QTransform()).map(QPointF()), QPointF(100, 100));
+ QCOMPARE(item2_topleft->deviceTransform(QTransform()).map(QPointF()), QPointF(100, 100));
+ QCOMPARE(item1_bottomright->deviceTransform(QTransform()).map(QPointF()), QPointF(0, 200));
+ QCOMPARE(item2_bottomright->deviceTransform(QTransform()).map(QPointF()), QPointF(0, 200));
+
+ item2->setParentItem(item1);
+
+ QCOMPARE(item2->deviceTransform(QTransform()).map(QPointF()), QPointF(100, 200));
+ QCOMPARE(item2->deviceTransform(QTransform()).map(QPointF(100, 100)), QPointF(0, 300));
+ QCOMPARE(item2_topleft->deviceTransform(QTransform()).map(QPointF()), QPointF(100, 200));
+ QCOMPARE(item2_bottomright->deviceTransform(QTransform()).map(QPointF()), QPointF(0, 300));
+
+ QTransform tx = QTransform::fromTranslate(100, 0);
+ QCOMPARE(item1->deviceTransform(tx).map(QPointF()), QPointF(200, 100));
+ QCOMPARE(item1->deviceTransform(tx).map(QPointF(100, 100)), QPointF(100, 200));
+ QCOMPARE(item2->deviceTransform(tx).map(QPointF()), QPointF(200, 200));
+ QCOMPARE(item2->deviceTransform(tx).map(QPointF(100, 100)), QPointF(100, 300));
+ QCOMPARE(item2_topleft->deviceTransform(tx).map(QPointF()), QPointF(200, 200));
+ QCOMPARE(item2_bottomright->deviceTransform(tx).map(QPointF()), QPointF(100, 300));
+}
+
QTEST_MAIN(tst_QGraphicsItem)
#include "tst_qgraphicsitem.moc"
diff --git a/tests/auto/widgets/itemviews/qcolumnview/tst_qcolumnview.cpp b/tests/auto/widgets/itemviews/qcolumnview/tst_qcolumnview.cpp
index 3fa3fbe0ee..c17e2523f9 100644
--- a/tests/auto/widgets/itemviews/qcolumnview/tst_qcolumnview.cpp
+++ b/tests/auto/widgets/itemviews/qcolumnview/tst_qcolumnview.cpp
@@ -440,6 +440,10 @@ void tst_QColumnView::scrollTo()
if (level >= 2) {
if (!reverse) {
QTRY_VERIFY(view.HorizontalOffset() < 0);
+ if (last <= view.HorizontalOffset()) {
+ qDebug() << "Test failure. last=" << last
+ << " ; HorizontalOffset= " << view.HorizontalOffset();
+ }
QTRY_VERIFY(last > view.HorizontalOffset());
} else {
QTRY_VERIFY(view.HorizontalOffset() > 0);
@@ -457,10 +461,15 @@ void tst_QColumnView::scrollTo()
view.scrollTo(index, QAbstractItemView::EnsureVisible);
index = index.parent();
if (start != level) {
- if (!reverse)
+ if (!reverse) {
QTRY_VERIFY(last < view.HorizontalOffset());
- else
+ } else {
+ if (last <= view.HorizontalOffset()) {
+ qDebug() << "Test failure. last=" << last
+ << " ; HorizontalOffset= " << view.HorizontalOffset();
+ }
QTRY_VERIFY(last > view.HorizontalOffset());
+ }
}
level--;
last = view.HorizontalOffset();
diff --git a/tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp b/tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp
index d7050033f3..3a6fca7146 100644
--- a/tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp
+++ b/tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp
@@ -608,7 +608,7 @@ void tst_QCompleter::directoryModel_data()
#elif defined (Q_OS_MAC)
QTest::newRow("()") << "" << "" << "/" << "/";
QTest::newRow("(/a)") << "/a" << "" << "Applications" << "/Applications";
- QTest::newRow("(/d)") << "/d" << "" << "Developer" << "/Developer";
+ QTest::newRow("(/u)") << "/u" << "" << "Users" << "/Users";
#else
QTest::newRow("()") << "" << "" << "/" << "/";
#if !defined(Q_OS_IRIX) && !defined(Q_OS_AIX) && !defined(Q_OS_HPUX)
@@ -1305,10 +1305,15 @@ void tst_QCompleter::task246056_setCompletionPrefix()
comboBox.show();
QApplication::setActiveWindow(&comboBox);
QVERIFY(QTest::qWaitForWindowActive(&comboBox));
+ QSignalSpy spy(comboBox.completer(), SIGNAL(activated(QModelIndex)));
QTest::keyPress(&comboBox, 'a');
QTest::keyPress(comboBox.completer()->popup(), Qt::Key_Down);
QTest::keyPress(comboBox.completer()->popup(), Qt::Key_Down);
QTest::keyPress(comboBox.completer()->popup(), Qt::Key_Enter); // don't crash!
+ QCOMPARE(spy.count(), 1);
+ QList<QVariant> arguments = spy.at(0);
+ QModelIndex index = arguments.at(0).value<QModelIndex>();
+ QVERIFY(!index.isValid());
}
class task250064_TextEdit : public QTextEdit
diff --git a/tests/auto/widgets/util/qundogroup/tst_qundogroup.cpp b/tests/auto/widgets/util/qundogroup/tst_qundogroup.cpp
index ddab98ebc6..7e0e942be5 100644
--- a/tests/auto/widgets/util/qundogroup/tst_qundogroup.cpp
+++ b/tests/auto/widgets/util/qundogroup/tst_qundogroup.cpp
@@ -615,10 +615,15 @@ void tst_QUndoGroup::commandTextFormat()
if (QProcess::execute(binDir + "/lrelease -version") != 0)
QSKIP("lrelease is missing or broken");
- QVERIFY(!QProcess::execute(binDir + "/lrelease testdata/qundogroup.ts"));
+ const QString tsFile = QFINDTESTDATA("testdata/qundogroup.ts");
+ QVERIFY(!tsFile.isEmpty());
+ QVERIFY(!QProcess::execute(binDir + "/lrelease " + tsFile));
QTranslator translator;
- QVERIFY(translator.load("testdata/qundogroup.qm"));
+
+ const QString qmFile = QFINDTESTDATA("testdata/qundogroup.qm");
+ QVERIFY(!qmFile.isEmpty());
+ QVERIFY(translator.load(qmFile));
qApp->installTranslator(&translator);
QUndoGroup group;
diff --git a/tests/auto/widgets/util/qundostack/tst_qundostack.cpp b/tests/auto/widgets/util/qundostack/tst_qundostack.cpp
index 4556816655..6e6c72db5e 100644
--- a/tests/auto/widgets/util/qundostack/tst_qundostack.cpp
+++ b/tests/auto/widgets/util/qundostack/tst_qundostack.cpp
@@ -2974,10 +2974,14 @@ void tst_QUndoStack::commandTextFormat()
if (QProcess::execute(binDir + "/lrelease -version") != 0)
QSKIP("lrelease is missing or broken");
- QVERIFY(!QProcess::execute(binDir + "/lrelease testdata/qundostack.ts"));
+ const QString tsFile = QFINDTESTDATA("testdata/qundostack.ts");
+ QVERIFY(!tsFile.isEmpty());
+ QVERIFY(!QProcess::execute(binDir + "/lrelease " + tsFile));
QTranslator translator;
- QVERIFY(translator.load("testdata/qundostack.qm"));
+ const QString qmFile = QFINDTESTDATA("testdata/qundostack.qm");
+ QVERIFY(!qmFile.isEmpty());
+ QVERIFY(translator.load(qmFile));
qApp->installTranslator(&translator);
QUndoStack stack;
diff --git a/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp b/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
index f26af0e1f4..4631154230 100644
--- a/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
+++ b/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
@@ -161,6 +161,7 @@ private slots:
void task_QTBUG_10491_currentIndexAndModelColumn();
void highlightedSignal();
void itemData();
+ void task_QTBUG_31146_popupCompletion();
};
class MyAbstractItemDelegate : public QAbstractItemDelegate
@@ -2901,5 +2902,39 @@ void tst_QComboBox::itemData()
}
}
+void tst_QComboBox::task_QTBUG_31146_popupCompletion()
+{
+ QComboBox comboBox;
+ comboBox.setEditable(true);
+ comboBox.setAutoCompletion(true);
+ comboBox.setInsertPolicy(QComboBox::NoInsert);
+ comboBox.completer()->setCaseSensitivity(Qt::CaseInsensitive);
+ comboBox.completer()->setCompletionMode(QCompleter::PopupCompletion);
+
+ comboBox.addItems(QStringList() << QStringLiteral("item") << QStringLiteral("item"));
+
+ comboBox.show();
+ comboBox.activateWindow();
+ QVERIFY(QTest::qWaitForWindowActive(&comboBox));
+
+ QCOMPARE(comboBox.currentIndex(), 0);
+
+ comboBox.lineEdit()->selectAll();
+ QTest::keyClicks(comboBox.lineEdit(), "item");
+
+ QTest::keyClick(comboBox.completer()->popup(), Qt::Key_Down);
+ QTest::keyClick(comboBox.completer()->popup(), Qt::Key_Down);
+ QTest::keyClick(comboBox.completer()->popup(), Qt::Key_Enter);
+ QCOMPARE(comboBox.currentIndex(), 1);
+
+ comboBox.lineEdit()->selectAll();
+ QTest::keyClicks(comboBox.lineEdit(), "item");
+
+ QTest::keyClick(comboBox.completer()->popup(), Qt::Key_Up);
+ QTest::keyClick(comboBox.completer()->popup(), Qt::Key_Up);
+ QTest::keyClick(comboBox.completer()->popup(), Qt::Key_Enter);
+ QCOMPARE(comboBox.currentIndex(), 0);
+}
+
QTEST_MAIN(tst_QComboBox)
#include "tst_qcombobox.moc"