summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp')
-rw-r--r--tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp114
1 files changed, 30 insertions, 84 deletions
diff --git a/tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp b/tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp
index f000907e0e..0ecb1d1af4 100644
--- a/tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp
+++ b/tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp
@@ -1083,8 +1083,6 @@ void tst_QItemDelegate::decoration()
void tst_QItemDelegate::editorEvent_data()
{
- QTest::addColumn<QRect>("rect");
- QTest::addColumn<QString>("text");
QTest::addColumn<int>("checkState");
QTest::addColumn<int>("flags");
QTest::addColumn<bool>("inCheck");
@@ -1093,16 +1091,16 @@ void tst_QItemDelegate::editorEvent_data()
QTest::addColumn<bool>("edited");
QTest::addColumn<int>("expectedCheckState");
- QTest::newRow("unchecked, checkable, release")
- << QRect(0, 0, 20, 20)
- << QString("foo")
- << (int)(Qt::Unchecked)
- << (int)(Qt::ItemIsEditable
+ const int defaultFlags = (int)(Qt::ItemIsEditable
|Qt::ItemIsSelectable
|Qt::ItemIsUserCheckable
|Qt::ItemIsEnabled
|Qt::ItemIsDragEnabled
- |Qt::ItemIsDropEnabled)
+ |Qt::ItemIsDropEnabled);
+
+ QTest::newRow("unchecked, checkable, release")
+ << (int)(Qt::Unchecked)
+ << defaultFlags
<< true
<< (int)(QEvent::MouseButtonRelease)
<< (int)(Qt::LeftButton)
@@ -1110,15 +1108,8 @@ void tst_QItemDelegate::editorEvent_data()
<< (int)(Qt::Checked);
QTest::newRow("checked, checkable, release")
- << QRect(0, 0, 20, 20)
- << QString("foo")
<< (int)(Qt::Checked)
- << (int)(Qt::ItemIsEditable
- |Qt::ItemIsSelectable
- |Qt::ItemIsUserCheckable
- |Qt::ItemIsEnabled
- |Qt::ItemIsDragEnabled
- |Qt::ItemIsDropEnabled)
+ << defaultFlags
<< true
<< (int)(QEvent::MouseButtonRelease)
<< (int)(Qt::LeftButton)
@@ -1126,15 +1117,8 @@ void tst_QItemDelegate::editorEvent_data()
<< (int)(Qt::Unchecked);
QTest::newRow("unchecked, checkable, release")
- << QRect(0, 0, 20, 20)
- << QString("foo")
<< (int)(Qt::Unchecked)
- << (int)(Qt::ItemIsEditable
- |Qt::ItemIsSelectable
- |Qt::ItemIsUserCheckable
- |Qt::ItemIsEnabled
- |Qt::ItemIsDragEnabled
- |Qt::ItemIsDropEnabled)
+ << defaultFlags
<< true
<< (int)(QEvent::MouseButtonRelease)
<< (int)(Qt::LeftButton)
@@ -1142,15 +1126,8 @@ void tst_QItemDelegate::editorEvent_data()
<< (int)(Qt::Checked);
QTest::newRow("unchecked, checkable, release, right button")
- << QRect(0, 0, 20, 20)
- << QString("foo")
<< (int)(Qt::Unchecked)
- << (int)(Qt::ItemIsEditable
- |Qt::ItemIsSelectable
- |Qt::ItemIsUserCheckable
- |Qt::ItemIsEnabled
- |Qt::ItemIsDragEnabled
- |Qt::ItemIsDropEnabled)
+ << defaultFlags
<< true
<< (int)(QEvent::MouseButtonRelease)
<< (int)(Qt::RightButton)
@@ -1158,15 +1135,8 @@ void tst_QItemDelegate::editorEvent_data()
<< (int)(Qt::Unchecked);
QTest::newRow("unchecked, checkable, release outside")
- << QRect(0, 0, 20, 20)
- << QString("foo")
<< (int)(Qt::Unchecked)
- << (int)(Qt::ItemIsEditable
- |Qt::ItemIsSelectable
- |Qt::ItemIsUserCheckable
- |Qt::ItemIsEnabled
- |Qt::ItemIsDragEnabled
- |Qt::ItemIsDropEnabled)
+ << defaultFlags
<< false
<< (int)(QEvent::MouseButtonRelease)
<< (int)(Qt::LeftButton)
@@ -1174,15 +1144,8 @@ void tst_QItemDelegate::editorEvent_data()
<< (int)(Qt::Unchecked);
QTest::newRow("unchecked, checkable, dblclick")
- << QRect(0, 0, 20, 20)
- << QString("foo")
<< (int)(Qt::Unchecked)
- << (int)(Qt::ItemIsEditable
- |Qt::ItemIsSelectable
- |Qt::ItemIsUserCheckable
- |Qt::ItemIsEnabled
- |Qt::ItemIsDragEnabled
- |Qt::ItemIsDropEnabled)
+ << defaultFlags
<< true
<< (int)(QEvent::MouseButtonDblClick)
<< (int)(Qt::LeftButton)
@@ -1190,16 +1153,8 @@ void tst_QItemDelegate::editorEvent_data()
<< (int)(Qt::Unchecked);
QTest::newRow("unchecked, tristate, release")
- << QRect(0, 0, 20, 20)
- << QString("foo")
<< (int)(Qt::Unchecked)
- << (int)(Qt::ItemIsEditable
- |Qt::ItemIsSelectable
- |Qt::ItemIsUserCheckable
- |Qt::ItemIsTristate
- |Qt::ItemIsEnabled
- |Qt::ItemIsDragEnabled
- |Qt::ItemIsDropEnabled)
+ << (int)(defaultFlags | Qt::ItemIsTristate)
<< true
<< (int)(QEvent::MouseButtonRelease)
<< (int)(Qt::LeftButton)
@@ -1207,16 +1162,8 @@ void tst_QItemDelegate::editorEvent_data()
<< (int)(Qt::PartiallyChecked);
QTest::newRow("partially checked, tristate, release")
- << QRect(0, 0, 20, 20)
- << QString("foo")
<< (int)(Qt::PartiallyChecked)
- << (int)(Qt::ItemIsEditable
- |Qt::ItemIsSelectable
- |Qt::ItemIsUserCheckable
- |Qt::ItemIsTristate
- |Qt::ItemIsEnabled
- |Qt::ItemIsDragEnabled
- |Qt::ItemIsDropEnabled)
+ << (int)(defaultFlags | Qt::ItemIsTristate)
<< true
<< (int)(QEvent::MouseButtonRelease)
<< (int)(Qt::LeftButton)
@@ -1224,16 +1171,8 @@ void tst_QItemDelegate::editorEvent_data()
<< (int)(Qt::Checked);
QTest::newRow("checked, tristate, release")
- << QRect(0, 0, 20, 20)
- << QString("foo")
<< (int)(Qt::Checked)
- << (int)(Qt::ItemIsEditable
- |Qt::ItemIsSelectable
- |Qt::ItemIsUserCheckable
- |Qt::ItemIsTristate
- |Qt::ItemIsEnabled
- |Qt::ItemIsDragEnabled
- |Qt::ItemIsDropEnabled)
+ << (int)(defaultFlags | Qt::ItemIsTristate)
<< true
<< (int)(QEvent::MouseButtonRelease)
<< (int)(Qt::LeftButton)
@@ -1243,8 +1182,6 @@ void tst_QItemDelegate::editorEvent_data()
void tst_QItemDelegate::editorEvent()
{
- QFETCH(QRect, rect);
- QFETCH(QString, text);
QFETCH(int, checkState);
QFETCH(int, flags);
QFETCH(bool, inCheck);
@@ -1258,12 +1195,12 @@ void tst_QItemDelegate::editorEvent()
QVERIFY(index.isValid());
QStandardItem *item = model.itemFromIndex(index);
- item->setText(text);
+ item->setText("foo");
item->setCheckState((Qt::CheckState)checkState);
item->setFlags((Qt::ItemFlags)flags);
QStyleOptionViewItem option;
- option.rect = rect;
+ option.rect = QRect(0, 0, 20, 20);
option.state |= QStyle::State_Enabled;
// mimic QStyledItemDelegate::initStyleOption logic
option.features |= QStyleOptionViewItem::HasCheckIndicator | QStyleOptionViewItem::HasDisplay;
@@ -1302,11 +1239,19 @@ void tst_QItemDelegate::enterKey_data()
QTest::addColumn<bool>("expectedFocus");
QTest::newRow("lineedit enter") << LineEdit << int(Qt::Key_Enter) << false;
+ QTest::newRow("lineedit return") << LineEdit << int(Qt::Key_Return) << false;
+ QTest::newRow("lineedit tab") << LineEdit << int(Qt::Key_Tab) << false;
+ QTest::newRow("lineedit backtab") << LineEdit << int(Qt::Key_Backtab) << false;
+
QTest::newRow("textedit enter") << TextEdit << int(Qt::Key_Enter) << true;
+ QTest::newRow("textedit return") << TextEdit << int(Qt::Key_Return) << true;
+ QTest::newRow("textedit tab") << TextEdit << int(Qt::Key_Tab) << true;
+ QTest::newRow("textedit backtab") << TextEdit << int(Qt::Key_Backtab) << false;
+
QTest::newRow("plaintextedit enter") << PlainTextEdit << int(Qt::Key_Enter) << true;
QTest::newRow("plaintextedit return") << PlainTextEdit << int(Qt::Key_Return) << true;
- QTest::newRow("plaintextedit tab") << PlainTextEdit << int(Qt::Key_Tab) << false;
- QTest::newRow("lineedit tab") << LineEdit << int(Qt::Key_Tab) << false;
+ QTest::newRow("plaintextedit tab") << PlainTextEdit << int(Qt::Key_Tab) << true;
+ QTest::newRow("plaintextedit backtab") << PlainTextEdit << int(Qt::Key_Backtab) << false;
}
void tst_QItemDelegate::enterKey()
@@ -1364,10 +1309,11 @@ void tst_QItemDelegate::enterKey()
QTest::keyClick(editor, Qt::Key(key));
QApplication::processEvents();
- // The line edit has already been destroyed, so avoid that case.
- if (widget == TextEdit || widget == PlainTextEdit) {
+ if (expectedFocus) {
QVERIFY(!editor.isNull());
- QCOMPARE(editor && editor->hasFocus(), expectedFocus);
+ QVERIFY(editor->hasFocus());
+ } else {
+ QTRY_VERIFY(editor.isNull()); // editor deletion happens via deleteLater
}
}