summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2011-09-09 06:19:06 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2011-09-09 06:19:06 (GMT)
commit121141af78771be8c2be4778ab0ee64d3d964240 (patch)
tree18e041ea6e50563e087240d971ea159d8013bc00 /tests/auto
parent3b4400e9a8a4cc1851344b057d4c4f0bcfcc0400 (diff)
parent852abfca6f4c349dce9b895956922f96d82df579 (diff)
downloadQt-121141af78771be8c2be4778ab0ee64d3d964240.zip
Qt-121141af78771be8c2be4778ab0ee64d3d964240.tar.gz
Qt-121141af78771be8c2be4778ab0ee64d3d964240.tar.bz2
Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-qml-staging into master-integration
* 'master' of scm.dev.nokia.troll.no:qt/qt-qml-staging: Fix double click and drag not extending word selection.
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/qtextedit/tst_qtextedit.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/auto/qtextedit/tst_qtextedit.cpp b/tests/auto/qtextedit/tst_qtextedit.cpp
index 42ea3b1..73d09f4 100644
--- a/tests/auto/qtextedit/tst_qtextedit.cpp
+++ b/tests/auto/qtextedit/tst_qtextedit.cpp
@@ -138,6 +138,8 @@ private slots:
void textSemantics();
#endif
void cursorPositionChanged();
+ void mouseSelection();
+ void mouseSelectionDClick();
void setTextCursor();
#ifndef QT_NO_CLIPBOARD
void undoAvailableAfterPaste();
@@ -785,6 +787,45 @@ void tst_QTextEdit::cursorPositionChanged()
QCOMPARE(ed->textCursor().position(), 0);
}
+void tst_QTextEdit::mouseSelection()
+{
+ ed->show();
+ ed->setPlainText(("Hello World"));
+ QTextCursor cursor = ed->textCursor();
+ cursor.setPosition(1);
+ QPoint p1 = ed->cursorRect(cursor).center();
+ cursor.setPosition(10);
+ QPoint p2 = ed->cursorRect(cursor).center();
+ QTest::mousePress(ed->viewport(), Qt::LeftButton, 0, p1);
+ { QMouseEvent ev(QEvent::MouseMove, p2, Qt::LeftButton, Qt::LeftButton, 0);
+ QCoreApplication::sendEvent(ed->viewport(), &ev); }
+ QTest::mouseRelease(ed->viewport(), Qt::LeftButton, 0, p2);
+ QVERIFY(ed->textCursor().hasSelection());
+ QCOMPARE(ed->textCursor().selectedText(), QString("ello Worl"));
+
+}
+
+void tst_QTextEdit::mouseSelectionDClick()
+{
+ ed->show();
+ ed->setPlainText(("Hello World"));
+ QTextCursor cursor = ed->textCursor();
+ cursor.setPosition(1);
+ QPoint p1 = ed->cursorRect(cursor).center();
+ cursor.setPosition(10);
+ QPoint p2 = ed->cursorRect(cursor).center();
+ QTest::mousePress(ed->viewport(), Qt::LeftButton, 0, p1);
+ QTest::mouseRelease(ed->viewport(), Qt::LeftButton, 0, p1);
+ QTest::mouseDClick(ed->viewport(), Qt::LeftButton, 0, p1);
+ QVERIFY(ed->textCursor().hasSelection());
+ QCOMPARE(ed->textCursor().selectedText(), QString("Hello"));
+ { QMouseEvent ev(QEvent::MouseMove, p2, Qt::LeftButton, Qt::LeftButton, 0);
+ QCoreApplication::sendEvent(ed->viewport(), &ev); }
+ QTest::mouseRelease(ed->viewport(), Qt::LeftButton, 0, p2);
+ QVERIFY(ed->textCursor().hasSelection());
+ QCOMPARE(ed->textCursor().selectedText(), QString("Hello World"));
+}
+
void tst_QTextEdit::setTextCursor()
{
QSignalSpy spy(ed, SIGNAL(cursorPositionChanged()));