summaryrefslogtreecommitdiffstats
path: root/tests/auto/quick
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-09-22 20:08:04 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-09-22 20:15:13 +0200
commit29e75ab2ede9e13321faeec61e1d77f3caa6118c (patch)
treebafd4479f5a84db963eef0c04e7a5d86627f6691 /tests/auto/quick
parent98702f186c66a6eedb90b5d4823c53afd8794770 (diff)
parentbb6fffd1ad3168edc9d67492cca585084d8ae6b4 (diff)
Merge remote-tracking branch 'origin/5.15' into dev
Conflicts: src/core/certificate_error_controller.cpp src/core/compositor/display_gl_output_surface_qsg.cpp src/webengine/doc/src/webengine_certificate_error.qdoc tests/auto/quick/qmltests/data/tst_certificateError.qml Change-Id: I976958a0833030bfd7c3ed762585eb12031306b0
Diffstat (limited to 'tests/auto/quick')
-rw-r--r--tests/auto/quick/qmltests/data/tst_certificateError.qml38
1 files changed, 29 insertions, 9 deletions
diff --git a/tests/auto/quick/qmltests/data/tst_certificateError.qml b/tests/auto/quick/qmltests/data/tst_certificateError.qml
index a4bd9597a..976de88a9 100644
--- a/tests/auto/quick/qmltests/data/tst_certificateError.qml
+++ b/tests/auto/quick/qmltests/data/tst_certificateError.qml
@@ -38,15 +38,6 @@ TestWebEngineView {
property bool deferError: false
property bool acceptCertificate: false
- onCertificateError: function(error) {
- if (deferError)
- error.defer()
- else if (acceptCertificate)
- error.acceptCertificate()
- else
- error.rejectCertificate()
- }
-
SignalSpy {
id: spyError
target: view
@@ -88,6 +79,16 @@ TestWebEngineView {
function test_error(data) {
view.deferError = data.deferError
view.acceptCertificate = data.acceptCertificate
+ var handleCertificateError = function(error) {
+ if (deferError)
+ error.defer()
+ else if (acceptCertificate)
+ error.acceptCertificate()
+ else
+ error.rejectCertificate()
+ }
+ view.certificateError.connect(handleCertificateError)
+
view.url = Shared.HttpsServer.url()
if (data.deferError) {
@@ -109,6 +110,25 @@ TestWebEngineView {
compare(spyError.count, 1)
compare(data.expectedContent, view.getBodyText())
+
+ view.certificateError.disconnect(handleCertificateError)
+ }
+
+ function test_fatalError() {
+ var handleCertificateError = function(error) {
+ verify(!error.overrideable);
+ // QQuickWebEngineViewPrivate::allowCertificateError() will implicitly reject
+ // fatal errors and it should not crash if already rejected in handler.
+ error.rejectCertificate();
+ }
+ view.certificateError.connect(handleCertificateError);
+
+ view.url = Qt.resolvedUrl('https://revoked.badssl.com');
+ if (!view.waitForLoadFailed(10000))
+ skip("Couldn't load page from network, skipping test.");
+ compare(spyError.count, 1);
+
+ view.certificateError.disconnect(handleCertificateError);
}
}
}