diff -r 79de32ba3296 -r 89e065397ea6 tests/auto/qlineedit/tst_qlineedit.cpp --- a/tests/auto/qlineedit/tst_qlineedit.cpp Fri May 14 16:40:13 2010 +0300 +++ b/tests/auto/qlineedit/tst_qlineedit.cpp Thu May 27 13:40:48 2010 +0300 @@ -273,6 +273,11 @@ void taskQTBUG_4679_selectToStartEndOfBlock(); void taskQTBUG_7395_readOnlyShortcut(); +#ifdef QT3_SUPPORT + void validateAndSet_data(); + void validateAndSet(); +#endif + protected slots: #ifdef QT3_SUPPORT void lostFocus(); @@ -1488,6 +1493,34 @@ { editingFinished(); } + +void tst_QLineEdit::validateAndSet_data() +{ + QTest::addColumn("newText"); + QTest::addColumn("newPos"); + QTest::addColumn("newMarkAnchor"); + QTest::addColumn("newMarkDrag"); + + QTest::newRow("1") << QString("Hello World") << 3 << 3 << 5; + QTest::newRow("2") << QString("Hello World") << 5 << 3 << 5; +} + +void tst_QLineEdit::validateAndSet() +{ + QFETCH(QString, newText); + QFETCH(int, newPos); + QFETCH(int, newMarkAnchor); + QFETCH(int, newMarkDrag); + + QLineEdit e; + e.validateAndSet(newText, newPos, newMarkAnchor, newMarkDrag); + QCOMPARE(e.text(), newText); + QCOMPARE(e.cursorPosition(), newPos); + QCOMPARE(e.selectedText(), newText.mid(newMarkAnchor, newMarkDrag-newMarkAnchor)); +} + + + #endif void tst_QLineEdit::editingFinished() {