diff options
author | Peter Varga <pvarga@inf.u-szeged.hu> | 2017-03-03 10:31:57 +0100 |
---|---|---|
committer | Peter Varga <pvarga@inf.u-szeged.hu> | 2017-03-08 09:37:19 +0000 |
commit | dc3eab2af2a7da6a896f5b2391254c609a14b8ff (patch) | |
tree | 43bcf7aff4a176b69ce8945eb0b36db28974a79b /tests | |
parent | 44cb79ed88152d93d418b0ee1c101da8e05069a7 (diff) |
Rework form validation QML tests
Use Custom Dialog API instead of Test Support API for testing form
validation messages. Moreover, remove the form validation part from the
Test Support API.
Change-Id: I8ecc80745ddad26f90df413d9a1d04045512af6c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/quick/qmltests/data/tst_formValidation.qml | 107 |
1 files changed, 57 insertions, 50 deletions
diff --git a/tests/auto/quick/qmltests/data/tst_formValidation.qml b/tests/auto/quick/qmltests/data/tst_formValidation.qml index cae41821c..182a2eaa9 100644 --- a/tests/auto/quick/qmltests/data/tst_formValidation.qml +++ b/tests/auto/quick/qmltests/data/tst_formValidation.qml @@ -28,22 +28,17 @@ import QtQuick 2.0 import QtTest 1.0 -import QtWebEngine 1.2 -import QtWebEngine.testsupport 1.0 +import QtWebEngine 1.4 TestWebEngineView { id: webEngineView width: 400 height: 300 - testSupport: WebEngineTestSupport { - id: testSupportAPI - } - SignalSpy { - id: showSpy - target: testSupportAPI - signalName: "validationMessageShown" + id: formValidationMessageRequestSpy + target: webEngineView + signalName: "formValidationMessageRequested" } TestCase { @@ -51,63 +46,75 @@ TestWebEngineView { when: windowShown function init() { - webEngineView.url = Qt.resolvedUrl("about:blank") - verify(webEngineView.waitForLoadSucceeded()) - showSpy.clear() + webEngineView.url = Qt.resolvedUrl("about:blank"); + verify(webEngineView.waitForLoadSucceeded()); + formValidationMessageRequestSpy.clear(); } function test_urlForm() { - webEngineView.url = Qt.resolvedUrl("forms.html#url_empty") - verify(webEngineView.waitForLoadSucceeded()) - keyPress(Qt.Key_Enter) - showSpy.wait() - compare(showSpy.signalArguments[0][0], "Please fill out this field.") + webEngineView.url = Qt.resolvedUrl("forms.html#url_empty"); + verify(webEngineView.waitForLoadSucceeded()); + keyPress(Qt.Key_Enter); + formValidationMessageRequestSpy.wait(); + compare(formValidationMessageRequestSpy.signalArguments[0][0].type, FormValidationMessageRequest.Show); + compare(formValidationMessageRequestSpy.signalArguments[0][0].text, "Please fill out this field."); - webEngineView.url = Qt.resolvedUrl("about:blank") - verify(webEngineView.waitForLoadSucceeded()) + webEngineView.url = Qt.resolvedUrl("about:blank"); + verify(webEngineView.waitForLoadSucceeded()); + formValidationMessageRequestSpy.wait(); + compare(formValidationMessageRequestSpy.signalArguments[1][0].type, FormValidationMessageRequest.Hide); - webEngineView.url = Qt.resolvedUrl("forms.html#url_invalid") - verify(webEngineView.waitForLoadSucceeded()) - keyPress(Qt.Key_Enter) - showSpy.wait() - compare(showSpy.signalArguments[1][0], "Please enter a URL.") + webEngineView.url = Qt.resolvedUrl("forms.html#url_invalid"); + verify(webEngineView.waitForLoadSucceeded()); + keyPress(Qt.Key_Enter); + formValidationMessageRequestSpy.wait(); + compare(formValidationMessageRequestSpy.signalArguments[2][0].type, FormValidationMessageRequest.Show); + compare(formValidationMessageRequestSpy.signalArguments[2][0].text, "Please enter a URL."); } function test_emailForm() { - webEngineView.url = Qt.resolvedUrl("forms.html#email_empty") - verify(webEngineView.waitForLoadSucceeded()) - keyPress(Qt.Key_Enter) - showSpy.wait() - compare(showSpy.signalArguments[0][0], "Please fill out this field.") + webEngineView.url = Qt.resolvedUrl("forms.html#email_empty"); + verify(webEngineView.waitForLoadSucceeded()); + keyPress(Qt.Key_Enter); + formValidationMessageRequestSpy.wait(); + compare(formValidationMessageRequestSpy.signalArguments[0][0].type, FormValidationMessageRequest.Show); + compare(formValidationMessageRequestSpy.signalArguments[0][0].text, "Please fill out this field."); - webEngineView.url = Qt.resolvedUrl("about:blank") - verify(webEngineView.waitForLoadSucceeded()) + webEngineView.url = Qt.resolvedUrl("about:blank"); + verify(webEngineView.waitForLoadSucceeded()); + formValidationMessageRequestSpy.wait(); + compare(formValidationMessageRequestSpy.signalArguments[1][0].type, FormValidationMessageRequest.Hide); - webEngineView.url = Qt.resolvedUrl("forms.html#email_invalid") - verify(webEngineView.waitForLoadSucceeded()) - keyPress(Qt.Key_Enter) - showSpy.wait() - compare(showSpy.signalArguments[1][0], "Please include an '@' in the email address. 'invalid' is missing an '@'.") + webEngineView.url = Qt.resolvedUrl("forms.html#email_invalid"); + verify(webEngineView.waitForLoadSucceeded()); + keyPress(Qt.Key_Enter); + formValidationMessageRequestSpy.wait(); + compare(formValidationMessageRequestSpy.signalArguments[2][0].type, FormValidationMessageRequest.Show); + compare(formValidationMessageRequestSpy.signalArguments[2][0].text, "Please include an '@' in the email address. 'invalid' is missing an '@'."); } function test_textForm() { - webEngineView.url = Qt.resolvedUrl("forms.html#input_empty") - verify(webEngineView.waitForLoadSucceeded()) - keyPress(Qt.Key_Enter) - showSpy.wait() - compare(showSpy.signalArguments[0][0], "Please fill out this field.") + webEngineView.url = Qt.resolvedUrl("forms.html#input_empty"); + verify(webEngineView.waitForLoadSucceeded()); + keyPress(Qt.Key_Enter); + formValidationMessageRequestSpy.wait(); + compare(formValidationMessageRequestSpy.signalArguments[0][0].type, FormValidationMessageRequest.Show); + compare(formValidationMessageRequestSpy.signalArguments[0][0].text, "Please fill out this field."); // Title should be shown for pattern mismatch only - compare(showSpy.signalArguments[0][1], "") + compare(formValidationMessageRequestSpy.signalArguments[0][0].subText, ""); - webEngineView.url = Qt.resolvedUrl("about:blank") - verify(webEngineView.waitForLoadSucceeded()) + webEngineView.url = Qt.resolvedUrl("about:blank"); + verify(webEngineView.waitForLoadSucceeded()); + formValidationMessageRequestSpy.wait(); + compare(formValidationMessageRequestSpy.signalArguments[1][0].type, FormValidationMessageRequest.Hide); - webEngineView.url = Qt.resolvedUrl("forms.html#lorem_ipsum") - verify(webEngineView.waitForLoadSucceeded()) - keyPress(Qt.Key_Enter) - showSpy.wait() - compare(showSpy.signalArguments[1][0], "Please match the requested format.") - compare(showSpy.signalArguments[1][1], "Should type 'Lorem ipsum'") + webEngineView.url = Qt.resolvedUrl("forms.html#lorem_ipsum"); + verify(webEngineView.waitForLoadSucceeded()); + keyPress(Qt.Key_Enter); + formValidationMessageRequestSpy.wait(); + compare(formValidationMessageRequestSpy.signalArguments[2][0].type, FormValidationMessageRequest.Show); + compare(formValidationMessageRequestSpy.signalArguments[2][0].text, "Please match the requested format."); + compare(formValidationMessageRequestSpy.signalArguments[2][0].subText, "Should type 'Lorem ipsum'"); } } } |