aboutsummaryrefslogtreecommitdiff
path: root/tests/ut_mtexteditview
diff options
context:
space:
mode:
authorViacheslav Sobolev <ext-viacheslav.sobolev@nokia.com>2010-08-17 13:06:48 +0300
committerPekka Vuorela <pekka.ta.vuorela@nokia.com>2010-08-23 15:33:26 +0300
commit79ad6d612d1129324c5b16a8c6ee51f194d10409 (patch)
tree4d1167fbda1536b45d2e5ee688600f41f66781aa /tests/ut_mtexteditview
parent4372746f10ae8bef687c469646f3feaa9595dfd0 (diff)
Fixes: NB#177305 Left over characters are not right shifting on erasing the characters of input text field
RevBy: Pekka Vuorela Details: also includes unit test
Diffstat (limited to 'tests/ut_mtexteditview')
-rw-r--r--tests/ut_mtexteditview/ut_mtexteditview.cpp30
1 files changed, 29 insertions, 1 deletions
diff --git a/tests/ut_mtexteditview/ut_mtexteditview.cpp b/tests/ut_mtexteditview/ut_mtexteditview.cpp
index e7c13bec..8cb43ec0 100644
--- a/tests/ut_mtexteditview/ut_mtexteditview.cpp
+++ b/tests/ut_mtexteditview/ut_mtexteditview.cpp
@@ -189,6 +189,9 @@ void Ut_MTextEditView::testMaskedCharacters()
/*
* Bug #150452, The position of text cursor is wrong after
* deleting text with backspace key in the MTextEdit
+ *
+ * Bug #177305, Left over characters are not right shifting
+ * on erasing the characters of input text filed
*/
void Ut_MTextEditView::testUpdateScrollWhenTextChanged()
{
@@ -197,11 +200,14 @@ void Ut_MTextEditView::testUpdateScrollWhenTextChanged()
m_subject = new MTextEditView(m_controller);
m_controller->setView(m_subject);
+ m_controller->resize(200, 80); // set some fixed text size
+
int count = 256;
qreal hscroll = 0;
QKeyEvent bsEvent(QEvent::KeyPress, Qt::Key_Backspace, Qt::NoModifier, "\b");
QKeyEvent event(QEvent::KeyPress, Qt::Key_X, Qt::NoModifier, "x");
+ // test for bug #150452
QCOMPARE(m_subject->d_ptr->hscroll, qreal(0));
for (int n = 0; n < count; ++n) {
m_controller->keyPressEvent(&event);
@@ -213,12 +219,34 @@ void Ut_MTextEditView::testUpdateScrollWhenTextChanged()
m_controller->keyPressEvent(&bsEvent);
}
QVERIFY(hscroll > m_subject->d_ptr->hscroll);
- QVERIFY(m_subject->d_ptr->hscroll > qreal(1.0));
+ QCOMPARE(m_subject->d_ptr->hscroll, qreal(0));
while (!m_controller->text().isEmpty()) {
m_controller->keyPressEvent(&bsEvent);
}
QCOMPARE(m_subject->d_ptr->hscroll, qreal(0));
+
+ // test for bug #177305
+ for (int n = 0; n < count; ++n) {
+ m_controller->keyPressEvent(&event);
+ }
+ m_controller->setCursorPosition(count - 2);
+ hscroll = m_subject->d_ptr->hscroll;
+ QVERIFY(hscroll > 0);
+
+ for (int n = 0; n < (count / 2); ++n) {
+ m_controller->keyPressEvent(&bsEvent);
+ }
+ QVERIFY(hscroll > m_subject->d_ptr->hscroll);
+ QVERIFY(m_subject->d_ptr->hscroll > qreal(1.0));
+
+ for (int n = 0;
+ (n < count) && (m_subject->d_ptr->hscroll > 0)
+ && !m_controller->text().isEmpty();
+ ++n) {
+ m_controller->keyPressEvent(&bsEvent);
+ }
+ QVERIFY(m_controller->cursorPosition() > 0);
}
void Ut_MTextEditView::testSizeHint()