diff options
author | Jonatan Pålsson <jonatan.palsson@pelagicore.com> | 2014-03-13 15:24:48 +0100 |
---|---|---|
committer | Jonatan Pålsson <jonatan.palsson@pelagicore.com> | 2014-03-13 16:15:02 +0100 |
commit | 857cdcf6521ed89e84c6eb03d5c6c9376d5c6537 (patch) | |
tree | b3723297b0bec2f03fc373fc3e5392b80876ae84 | |
parent | 994affbe6faa76592f824f0c87147c07979334e7 (diff) | |
download | browser-poc-857cdcf6521ed89e84c6eb03d5c6c9376d5c6537.tar.gz |
Newly entered text now replaced old text in text boxes
-rw-r--r-- | browser/browserview.cpp | 5 | ||||
-rw-r--r-- | browser/unit-tests/browserdbus/testbrowserdbus.cpp | 30 | ||||
-rw-r--r-- | browser/unit-tests/browserdbus/testbrowserdbus.h | 2 |
3 files changed, 34 insertions, 3 deletions
diff --git a/browser/browserview.cpp b/browser/browserview.cpp index 8a24280..7368ae3 100644 --- a/browser/browserview.cpp +++ b/browser/browserview.cpp @@ -175,9 +175,8 @@ void BrowserView::scroll (conn::brw::SCROLL_DIRECTION dir, conn::brw::SCROLL_TYP void BrowserView::inputText (QString input) { - QInputMethodEvent event; - event.setCommitString(input); - QCoreApplication::sendEvent(m_webview.page(), &event); + QString entryStr = "window.document.activeElement.value = '" + input + "';"; + m_webview.page()->mainFrame()->evaluateJavaScript(entryStr); } void BrowserView::resizeEvent (QResizeEvent *event) { diff --git a/browser/unit-tests/browserdbus/testbrowserdbus.cpp b/browser/unit-tests/browserdbus/testbrowserdbus.cpp index 4bb79a5..4d60cd9 100644 --- a/browser/unit-tests/browserdbus/testbrowserdbus.cpp +++ b/browser/unit-tests/browserdbus/testbrowserdbus.cpp @@ -439,4 +439,34 @@ void TestBrowserDBus::testGetOldInputText() { QVERIFY(prevValue == "Hello world"); } +void TestBrowserDBus::testNewTextReplacesOldText() { + QSignalSpy spy (m_bdb, SIGNAL (onInputTextReceived(QString, QString, conn::brw::INPUT_ELEMENT_TYPE, int, int, int, int))); + m_bdb->createPageWindow(1,0,0,800,600); + m_bdb->loadurl(testFileUrl()); + QTest::qSleep(300); + QProcess::execute("xdotool mousemove 200 350"); + QProcess::execute("xdotool click 1"); + QVERIFY(spy.wait(1000)); + m_bdb->inputText(conn::brw::DR_OK, "Hello world"); + QTest::qSleep(300); + QProcess::execute("xdotool mousemove 200 300"); + QProcess::execute("xdotool click 1"); + QTest::qSleep(300); + QProcess::execute("xdotool mousemove 200 350"); + QProcess::execute("xdotool click 1"); + QVERIFY(spy.wait(1000)); + QString prevValue = spy.last().at(1).value<QString>(); + QVERIFY(prevValue == "Hello world"); + m_bdb->inputText(conn::brw::DR_OK, "New text!"); + QTest::qSleep(300); + QProcess::execute("xdotool mousemove 200 300"); + QProcess::execute("xdotool click 1"); + QTest::qSleep(300); + QProcess::execute("xdotool mousemove 200 350"); + QProcess::execute("xdotool click 1"); + QVERIFY(spy.wait(1000)); + prevValue = spy.last().at(1).value<QString>(); + QVERIFY(prevValue == "New text!"); +} + QTEST_MAIN (TestBrowserDBus); diff --git a/browser/unit-tests/browserdbus/testbrowserdbus.h b/browser/unit-tests/browserdbus/testbrowserdbus.h index f5530cf..3be6fac 100644 --- a/browser/unit-tests/browserdbus/testbrowserdbus.h +++ b/browser/unit-tests/browserdbus/testbrowserdbus.h @@ -57,6 +57,8 @@ private slots: void testCanCloseAuthDialog(); void testCanSelectOptionsInSelectList(); void testGetOldInputText(); + void testNewTextReplacesOldText(); + private: QString testFileUrl() { |