From 7266e11297874736e54bc59fd3d4d827d03ce2e2 Mon Sep 17 00:00:00 2001 From: Tarja Sundqvist Date: Fri, 25 May 2012 08:39:08 +0300 Subject: QTBUG-16850: QLineEdit::setSelection removes blank characters Changed checking of the start position so that it does not call d->control->text() because this removes blank characters when an input mask is used. Thus the selection fails. Instead d->control->end() is used for checking the start position. Task-number: QTBUG-16850 Change-Id: I62992fb81bd47d432bade9f219782d48eb309956 Reviewed-by: Joona Petrell --- tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'tests') diff --git a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp index 7fe71b0a53..84a6390463 100644 --- a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp +++ b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp @@ -272,6 +272,7 @@ private slots: void QTBUG697_paletteCurrentColorGroup(); void QTBUG13520_textNotVisible(); void QTBUG7174_inputMaskCursorBlink(); + void QTBUG16850_setSelection(); void bidiVisualMovement_data(); void bidiVisualMovement(); @@ -3722,6 +3723,16 @@ void tst_QLineEdit::QTBUG7174_inputMaskCursorBlink() QVERIFY(edit.updateRegion.contains(cursorRect)); } +void tst_QLineEdit::QTBUG16850_setSelection() +{ + QLineEdit le; + le.setInputMask("00:0"); + le.setText(" 1"); + le.setSelection(3, 1); + QCOMPARE(le.selectionStart(), 3); + QCOMPARE(le.selectedText(), QString("1")); +} + void tst_QLineEdit::bidiVisualMovement_data() { QTest::addColumn("logical"); -- cgit v1.2.3