aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquicktextedit
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2015-03-02 15:27:38 +0100
committerLiang Qi <liang.qi@theqtcompany.com>2015-03-03 16:30:44 +0000
commitcd3b88c5949de902b5ee83711264dcab398df8eb (patch)
treef1f9a79fdd48c7ab7b001f37a500a3a1803cd9f2 /tests/auto/quick/qquicktextedit
parenta6c752333d6dbe76e07db39684fdb878f5fbf865 (diff)
TextEdit: add editingFinished signal
Autotest is included. [ChangeLog][TextEdit] add editingFinished signal Task-number: QTBUG-44734 Change-Id: Ib632e589419758bea09442e6efcf4d977b9a13e8 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Diffstat (limited to 'tests/auto/quick/qquicktextedit')
-rw-r--r--tests/auto/quick/qquicktextedit/data/signal_editingfinished.qml13
-rw-r--r--tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp49
2 files changed, 62 insertions, 0 deletions
diff --git a/tests/auto/quick/qquicktextedit/data/signal_editingfinished.qml b/tests/auto/quick/qquicktextedit/data/signal_editingfinished.qml
new file mode 100644
index 0000000000..b5caab5e7c
--- /dev/null
+++ b/tests/auto/quick/qquicktextedit/data/signal_editingfinished.qml
@@ -0,0 +1,13 @@
+import QtQuick 2.6
+
+Item {
+ property QtObject input1: input1
+ property QtObject input2: input2
+
+ width: 800; height: 600
+
+ Column{
+ TextEdit { id: input1; activeFocusOnTab: true }
+ TextEdit { id: input2; activeFocusOnTab: true }
+ }
+}
diff --git a/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp b/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp
index da18f9a0df..86f25ace48 100644
--- a/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp
+++ b/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp
@@ -169,6 +169,8 @@ private slots:
void implicitSizeBinding_data();
void implicitSizeBinding();
+ void signal_editingfinished();
+
void preeditCursorRectangle();
void inputMethodComposing();
void cursorRectangleSize_data();
@@ -3317,6 +3319,53 @@ void tst_qquicktextedit::implicitSizeBinding()
QCOMPARE(textObject->height(), textObject->implicitHeight());
}
+void tst_qquicktextedit::signal_editingfinished()
+{
+ QQuickView *window = new QQuickView(0);
+ window->setBaseSize(QSize(800,600));
+
+ window->setSource(testFileUrl("signal_editingfinished.qml"));
+ window->show();
+ window->requestActivate();
+ QVERIFY(QTest::qWaitForWindowActive(window));
+ QVERIFY(QGuiApplication::focusWindow() == window);
+
+ QVERIFY(window->rootObject() != 0);
+
+ QQuickTextEdit *input1 = qobject_cast<QQuickTextEdit *>(qvariant_cast<QObject *>(window->rootObject()->property("input1")));
+ QVERIFY(input1);
+ QQuickTextEdit *input2 = qobject_cast<QQuickTextEdit *>(qvariant_cast<QObject *>(window->rootObject()->property("input2")));
+ QVERIFY(input2);
+
+ QSignalSpy editingFinished1Spy(input1, SIGNAL(editingFinished()));
+
+ input1->setFocus(true);
+ QTRY_VERIFY(input1->hasActiveFocus());
+ QTRY_VERIFY(!input2->hasActiveFocus());
+
+ QKeyEvent key(QEvent::KeyPress, Qt::Key_Tab, Qt::ShiftModifier, "", false, 1);
+ QGuiApplication::sendEvent(window, &key);
+ QVERIFY(key.isAccepted());
+ QTRY_COMPARE(editingFinished1Spy.count(), 1);
+
+ QTRY_VERIFY(!input1->hasActiveFocus());
+ QTRY_VERIFY(input2->hasActiveFocus());
+
+ QSignalSpy editingFinished2Spy(input2, SIGNAL(editingFinished()));
+
+ input2->setFocus(true);
+ QTRY_VERIFY(!input1->hasActiveFocus());
+ QTRY_VERIFY(input2->hasActiveFocus());
+
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::ShiftModifier, "", false, 1);
+ QGuiApplication::sendEvent(window, &key);
+ QVERIFY(key.isAccepted());
+ QTRY_COMPARE(editingFinished2Spy.count(), 1);
+
+ QTRY_VERIFY(input1->hasActiveFocus());
+ QTRY_VERIFY(!input2->hasActiveFocus());
+}
+
void tst_qquicktextedit::clipRect()
{
QQmlComponent component(&engine);