diff options
author | Joona Petrell <joona.t.petrell@nokia.com> | 2010-07-12 01:22:16 (GMT) |
---|---|---|
committer | Jason McDonald <jason.mcdonald@nokia.com> | 2010-07-13 04:44:19 (GMT) |
commit | 35dc9919a0dadaafb72ab4651cc5e9ea29b9aa66 (patch) | |
tree | 94cf96d6b4bb5a633b901916fc269d6961b9e96c /tests | |
parent | 957751d93aeb8d5c2703fa3d13d8b3a0e0334d51 (diff) | |
download | Qt-35dc9919a0dadaafb72ab4651cc5e9ea29b9aa66.zip Qt-35dc9919a0dadaafb72ab4651cc5e9ea29b9aa66.tar.gz Qt-35dc9919a0dadaafb72ab4651cc5e9ea29b9aa66.tar.bz2 |
Add copy(), cut() and paste() support to TextInput
Task-number: QTBUG-12086
Reviewed-by: Michael Brasser
(cherry picked from commit 0fdf5122c72eb86d49cba2b69f80d3a9c5949da6)
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp | 35 | ||||
-rw-r--r-- | tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp | 37 |
2 files changed, 71 insertions, 1 deletions
diff --git a/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp b/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp index 4e4f45e..1ec700b 100644 --- a/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp +++ b/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp @@ -96,6 +96,7 @@ private slots: void delegateLoading(); void navigation(); void readOnly(); + void copyAndPaste(); void openInputPanelOnClick(); void openInputPanelOnFocus(); void geometrySignals(); @@ -842,6 +843,40 @@ void tst_qdeclarativetextedit::navigation() QVERIFY(input->hasFocus() == true); } +void tst_qdeclarativetextedit::copyAndPaste() { +#ifndef QT_NO_CLIPBOARD + QString componentStr = "import Qt 4.7\nTextEdit { text: \"Hello world!\" }"; + QDeclarativeComponent textEditComponent(&engine); + textEditComponent.setData(componentStr.toLatin1(), QUrl()); + QDeclarativeTextEdit *textEdit = qobject_cast<QDeclarativeTextEdit*>(textEditComponent.create()); + QVERIFY(textEdit != 0); + + // copy and paste + QCOMPARE(textEdit->text().length(), 12); + textEdit->select(0, textEdit->text().length());; + textEdit->copy(); + QCOMPARE(textEdit->selectedText(), QString("Hello world!")); + QCOMPARE(textEdit->selectedText().length(), 12); + textEdit->setCursorPosition(0); + textEdit->paste(); + QCOMPARE(textEdit->text(), QString("Hello world!Hello world!")); + QCOMPARE(textEdit->text().length(), 24); + + // select word + textEdit->setCursorPosition(0); + textEdit->selectWord(); + QCOMPARE(textEdit->selectedText(), QString("Hello")); + + // select all and cut + textEdit->selectAll(); + textEdit->cut(); + QCOMPARE(textEdit->text().length(), 0); + textEdit->paste(); + QCOMPARE(textEdit->text(), QString("Hello world!Hello world!")); + QCOMPARE(textEdit->text().length(), 24); +#endif +} + void tst_qdeclarativetextedit::readOnly() { QDeclarativeView *canvas = createView(SRCDIR "/data/readOnly.qml"); diff --git a/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp b/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp index 24fedc4..a032071 100644 --- a/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp +++ b/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp @@ -83,6 +83,7 @@ private slots: void cursorDelegate(); void navigation(); + void copyAndPaste(); void readOnly(); void openInputPanelOnClick(); @@ -683,6 +684,40 @@ void tst_qdeclarativetextinput::navigation() delete canvas; } +void tst_qdeclarativetextinput::copyAndPaste() { +#ifndef QT_NO_CLIPBOARD + QString componentStr = "import Qt 4.7\nTextInput { text: \"Hello world!\" }"; + QDeclarativeComponent textInputComponent(&engine); + textInputComponent.setData(componentStr.toLatin1(), QUrl()); + QDeclarativeTextInput *textInput = qobject_cast<QDeclarativeTextInput*>(textInputComponent.create()); + QVERIFY(textInput != 0); + + // copy and paste + QCOMPARE(textInput->text().length(), 12); + textInput->select(0, textInput->text().length());; + textInput->copy(); + QCOMPARE(textInput->selectedText(), QString("Hello world!")); + QCOMPARE(textInput->selectedText().length(), 12); + textInput->setCursorPosition(0); + textInput->paste(); + QCOMPARE(textInput->text(), QString("Hello world!Hello world!")); + QCOMPARE(textInput->text().length(), 24); + + // select word + textInput->setCursorPosition(0); + textInput->selectWord(); + QCOMPARE(textInput->selectedText(), QString("Hello")); + + // select all and cut + textInput->selectAll(); + textInput->cut(); + QCOMPARE(textInput->text().length(), 0); + textInput->paste(); + QCOMPARE(textInput->text(), QString("Hello world!Hello world!")); + QCOMPARE(textInput->text().length(), 24); +#endif +} + void tst_qdeclarativetextinput::cursorDelegate() { QDeclarativeView* view = createView(SRCDIR "/data/cursorTest.qml"); @@ -994,7 +1029,7 @@ void tst_qdeclarativetextinput::openInputPanelOnFocus() QCOMPARE(ic.openInputPanelReceived, false); // input method should be disabled - // if TextEdit loses focus + // if TextInput loses focus input.setFocus(false); QApplication::processEvents(); QVERIFY(view.inputContext() == 0); |