diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-03-21 14:35:01 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-03-21 14:35:01 +0100 |
commit | 432af50e930b7f11455fc1daec17d9c215ea88ee (patch) | |
tree | 75f8e9cc04069de32c25660298c4fce046f88b4e /tests/auto/quick | |
parent | 809afc26fe0c47b249cf11376c8ea484a2bfaaf1 (diff) | |
parent | d5a479a720ee76fae9fa7b0f7b6b3d0a61718ff0 (diff) |
Merge remote-tracking branch 'origin/5.13' into dev
Change-Id: If771fabe97c4d75edc4627999f04f70ca1901060
Diffstat (limited to 'tests/auto/quick')
-rw-r--r-- | tests/auto/quick/publicapi/tst_publicapi.cpp | 70 | ||||
-rw-r--r-- | tests/auto/quick/qmltests/data/tst_favicon.qml | 33 | ||||
-rw-r--r-- | tests/auto/quick/qmltests/data/tst_notification.qml | 8 | ||||
-rw-r--r-- | tests/auto/quick/quick.pro | 2 |
4 files changed, 101 insertions, 12 deletions
diff --git a/tests/auto/quick/publicapi/tst_publicapi.cpp b/tests/auto/quick/publicapi/tst_publicapi.cpp index 5d869c14f..3e5d24381 100644 --- a/tests/auto/quick/publicapi/tst_publicapi.cpp +++ b/tests/auto/quick/publicapi/tst_publicapi.cpp @@ -100,6 +100,7 @@ static const QStringList hardcodedTypes = QStringList() << "QQuickWebEngineErrorPage*" << "const QQuickWebEngineContextMenuData*" << "QWebEngineCookieStore*" + << "Qt::LayoutDirection" ; static const QStringList expectedAPI = QStringList() @@ -140,10 +141,41 @@ static const QStringList expectedAPI = QStringList() << "QQuickWebEngineCertificateError.overridable --> bool" << "QQuickWebEngineCertificateError.rejectCertificate() --> void" << "QQuickWebEngineCertificateError.url --> QUrl" + << "QQuickWebEngineClientCertificateOption.issuer --> QString" + << "QQuickWebEngineClientCertificateOption.subject --> QString" + << "QQuickWebEngineClientCertificateOption.effectiveDate --> QDateTime" + << "QQuickWebEngineClientCertificateOption.expiryDate --> QDateTime" + << "QQuickWebEngineClientCertificateOption.isSelfSigned --> bool" + << "QQuickWebEngineClientCertificateOption.select() --> void" + << "QQuickWebEngineClientCertificateSelection.host --> QUrl" + << "QQuickWebEngineClientCertificateSelection.certificates --> QQmlListProperty<QQuickWebEngineClientCertificateOption>" + << "QQuickWebEngineClientCertificateSelection.select(int) --> void" + << "QQuickWebEngineClientCertificateSelection.select(const QQuickWebEngineClientCertificateOption*) --> void" + << "QQuickWebEngineClientCertificateSelection.selectNone() --> void" << "QQuickWebEngineColorDialogRequest.accepted --> bool" << "QQuickWebEngineColorDialogRequest.color --> QColor" + << "QQuickWebEngineContextMenuRequest.CanUndo --> EditFlags" + << "QQuickWebEngineContextMenuRequest.CanRedo --> EditFlags" + << "QQuickWebEngineContextMenuRequest.CanCut --> EditFlags" + << "QQuickWebEngineContextMenuRequest.CanCopy --> EditFlags" + << "QQuickWebEngineContextMenuRequest.CanPaste --> EditFlags" + << "QQuickWebEngineContextMenuRequest.CanDelete --> EditFlags" + << "QQuickWebEngineContextMenuRequest.CanSelectAll --> EditFlags" + << "QQuickWebEngineContextMenuRequest.CanTranslate --> EditFlags" + << "QQuickWebEngineContextMenuRequest.CanEditRichly --> EditFlags" << "QQuickWebEngineColorDialogRequest.dialogAccept(QColor) --> void" << "QQuickWebEngineColorDialogRequest.dialogReject() --> void" + << "QQuickWebEngineContextMenuRequest.editFlags --> EditFlags" + << "QQuickWebEngineContextMenuRequest.MediaInError --> MediaFlags" + << "QQuickWebEngineContextMenuRequest.MediaPaused --> MediaFlags" + << "QQuickWebEngineContextMenuRequest.MediaMuted --> MediaFlags" + << "QQuickWebEngineContextMenuRequest.MediaLoop --> MediaFlags" + << "QQuickWebEngineContextMenuRequest.MediaCanSave --> MediaFlags" + << "QQuickWebEngineContextMenuRequest.MediaHasAudio --> MediaFlags" + << "QQuickWebEngineContextMenuRequest.MediaCanToggleControls --> MediaFlags" + << "QQuickWebEngineContextMenuRequest.MediaControls --> MediaFlags" + << "QQuickWebEngineContextMenuRequest.MediaCanPrint --> MediaFlags" + << "QQuickWebEngineContextMenuRequest.MediaCanRotate --> MediaFlags" << "QQuickWebEngineContextMenuRequest.MediaTypeAudio --> MediaType" << "QQuickWebEngineContextMenuRequest.MediaTypeCanvas --> MediaType" << "QQuickWebEngineContextMenuRequest.MediaTypeFile --> MediaType" @@ -155,6 +187,7 @@ static const QStringList expectedAPI = QStringList() << "QQuickWebEngineContextMenuRequest.isContentEditable --> bool" << "QQuickWebEngineContextMenuRequest.linkText --> QString" << "QQuickWebEngineContextMenuRequest.linkUrl --> QUrl" + << "QQuickWebEngineContextMenuRequest.mediaFlags --> MediaFlags" << "QQuickWebEngineContextMenuRequest.mediaType --> MediaType" << "QQuickWebEngineContextMenuRequest.mediaUrl --> QUrl" << "QQuickWebEngineContextMenuRequest.misspelledWord --> QString" @@ -226,6 +259,7 @@ static const QStringList expectedAPI = QStringList() << "QQuickWebEngineDownloadItem.totalBytesChanged() --> void" << "QQuickWebEngineDownloadItem.type --> DownloadType" << "QQuickWebEngineDownloadItem.typeChanged() --> void" + << "QQuickWebEngineDownloadItem.view --> QQuickWebEngineView*" << "QQuickWebEngineFileDialogRequest.FileModeOpen --> FileMode" << "QQuickWebEngineFileDialogRequest.FileModeOpenMultiple --> FileMode" << "QQuickWebEngineFileDialogRequest.FileModeSave --> FileMode" @@ -296,6 +330,8 @@ static const QStringList expectedAPI = QStringList() << "QQuickWebEngineProfile.clearHttpCache() --> void" << "QQuickWebEngineProfile.downloadFinished(QQuickWebEngineDownloadItem*) --> void" << "QQuickWebEngineProfile.downloadRequested(QQuickWebEngineDownloadItem*) --> void" + << "QQuickWebEngineProfile.downloadPath --> QString" + << "QQuickWebEngineProfile.downloadPathChanged() --> void" << "QQuickWebEngineProfile.userNotification(QWebEngineNotification*) --> void" << "QQuickWebEngineProfile.httpAcceptLanguage --> QString" << "QQuickWebEngineProfile.httpAcceptLanguageChanged() --> void" @@ -317,6 +353,8 @@ static const QStringList expectedAPI = QStringList() << "QQuickWebEngineProfile.spellCheckLanguagesChanged() --> void" << "QQuickWebEngineProfile.storageName --> QString" << "QQuickWebEngineProfile.storageNameChanged() --> void" + << "QQuickWebEngineProfile.useForGlobalCertificateVerification --> bool" + << "QQuickWebEngineProfile.useForGlobalCertificateVerificationChanged() --> void" << "QQuickWebEngineProfile.userScripts --> QQmlListProperty<QQuickWebEngineScript>" << "QQuickWebEngineScript.ApplicationWorld --> ScriptWorldId" << "QQuickWebEngineScript.Deferred --> InjectionPoint" @@ -360,6 +398,8 @@ static const QStringList expectedAPI = QStringList() << "QQuickWebEngineSettings.autoLoadImagesChanged() --> void" << "QQuickWebEngineSettings.defaultTextEncoding --> QString" << "QQuickWebEngineSettings.defaultTextEncodingChanged() --> void" + << "QQuickWebEngineSettings.dnsPrefetchEnabled --> bool" + << "QQuickWebEngineSettings.dnsPrefetchEnabledChanged() --> void" << "QQuickWebEngineSettings.errorPageEnabled --> bool" << "QQuickWebEngineSettings.errorPageEnabledChanged() --> void" << "QQuickWebEngineSettings.focusOnNavigationEnabled --> bool" @@ -372,6 +412,8 @@ static const QStringList expectedAPI = QStringList() << "QQuickWebEngineSettings.javascriptCanAccessClipboardChanged() --> void" << "QQuickWebEngineSettings.javascriptCanOpenWindows --> bool" << "QQuickWebEngineSettings.javascriptCanOpenWindowsChanged() --> void" + << "QQuickWebEngineSettings.javascriptCanPaste --> bool" + << "QQuickWebEngineSettings.javascriptCanPasteChanged() --> void" << "QQuickWebEngineSettings.javascriptEnabled --> bool" << "QQuickWebEngineSettings.javascriptEnabledChanged() --> void" << "QQuickWebEngineSettings.linksIncludedInFocusChain --> bool" @@ -382,6 +424,8 @@ static const QStringList expectedAPI = QStringList() << "QQuickWebEngineSettings.localContentCanAccessRemoteUrlsChanged() --> void" << "QQuickWebEngineSettings.localStorageEnabled --> bool" << "QQuickWebEngineSettings.localStorageEnabledChanged() --> void" + << "QQuickWebEngineSettings.pdfViewerEnabled --> bool" + << "QQuickWebEngineSettings.pdfViewerEnabledChanged() --> void" << "QQuickWebEngineSettings.playbackRequiresUserGesture --> bool" << "QQuickWebEngineSettings.playbackRequiresUserGestureChanged() --> void" << "QQuickWebEngineSettings.pluginsEnabled --> bool" @@ -667,6 +711,7 @@ static const QStringList expectedAPI = QStringList() << "QQuickWebEngineView.navigationRequested(QQuickWebEngineNavigationRequest*) --> void" << "QQuickWebEngineView.newViewRequested(QQuickWebEngineNewViewRequest*) --> void" << "QQuickWebEngineView.pdfPrintingFinished(QString,bool) --> void" + << "QQuickWebEngineView.printRequested() --> void" << "QQuickWebEngineView.printToPdf(QJSValue) --> void" << "QQuickWebEngineView.printToPdf(QJSValue,PrintedPageSizeId) --> void" << "QQuickWebEngineView.printToPdf(QJSValue,PrintedPageSizeId,PrintedPageOrientation) --> void" @@ -689,11 +734,14 @@ static const QStringList expectedAPI = QStringList() << "QQuickWebEngineView.runJavaScript(QString,uint,QJSValue) --> void" << "QQuickWebEngineView.scrollPosition --> QPointF" << "QQuickWebEngineView.scrollPositionChanged(QPointF) --> void" + << "QQuickWebEngineView.selectClientCertificate(QQuickWebEngineClientCertificateSelection*) --> void" << "QQuickWebEngineView.setActiveFocusOnPress(bool) --> void" << "QQuickWebEngineView.settings --> QQuickWebEngineSettings*" << "QQuickWebEngineView.stop() --> void" +#if QT_CONFIG(webengine_testsupport) << "QQuickWebEngineView.testSupport --> QQuickWebEngineTestSupport*" << "QQuickWebEngineView.testSupportChanged() --> void" +#endif << "QQuickWebEngineView.title --> QString" << "QQuickWebEngineView.titleChanged() --> void" << "QQuickWebEngineView.tooltipRequested(QQuickWebEngineTooltipRequest*) --> void" @@ -722,10 +770,7 @@ static const QStringList expectedAPI = QStringList() << "QWebEngineNotification.message --> QString" << "QWebEngineNotification.tag --> QString" << "QWebEngineNotification.language --> QString" - << "QWebEngineNotification.direction --> Direction" - << "QWebEngineNotification.LeftToRight --> Direction" - << "QWebEngineNotification.RightToLeft --> Direction" - << "QWebEngineNotification.DirectionAuto --> Direction" + << "QWebEngineNotification.direction --> Qt::LayoutDirection" << "QWebEngineNotification.show() --> void" << "QWebEngineNotification.click() --> void" << "QWebEngineNotification.close() --> void" @@ -824,18 +869,23 @@ void tst_publicapi::publicAPI() // for (const QString &actual : qAsConst(sortedAPI)) // printf(" << \"%s\"\n", qPrintable(actual)); + bool apiMatch = true; // Make sure that nothing slips in the public API unintentionally. for (const QString &actual : qAsConst(actualAPI)) { - if (!expectedAPI.contains(actual)) - QEXPECT_FAIL("", qPrintable("Expected list is not up-to-date: " + actual), Continue); - QVERIFY2(expectedAPI.contains(actual), qPrintable(actual)); + if (!expectedAPI.contains(actual)) { + QWARN(qPrintable("Expected list is not up-to-date: " + actual)); + apiMatch = false; + } } // Make sure that the expected list is up-to-date with intentionally added APIs. for (const QString &expected : expectedAPI) { - if (!actualAPI.contains(expected)) - QEXPECT_FAIL("", qPrintable("Not implemented: " + expected), Continue); - QVERIFY2(actualAPI.contains(expected), qPrintable(expected)); + if (!actualAPI.contains(expected)) { + apiMatch = false; + QWARN(qPrintable("Not implemented: " + expected)); + } } + + QVERIFY2(apiMatch, "Unexpected, missing or misspelled API!"); } QTEST_MAIN(tst_publicapi) diff --git a/tests/auto/quick/qmltests/data/tst_favicon.qml b/tests/auto/quick/qmltests/data/tst_favicon.qml index 563a87c83..50a412384 100644 --- a/tests/auto/quick/qmltests/data/tst_favicon.qml +++ b/tests/auto/quick/qmltests/data/tst_favicon.qml @@ -375,5 +375,38 @@ TestWebEngineView { faviconImage.destroy() } + + function test_touchIconWithSameURL() + { + WebEngine.settings.touchIconsEnabled = false; + + var icon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk+A8AAQUBAScY42YAAAAASUVORK5CYII="; + + webEngineView.loadHtml( + "<html>" + + "<link rel='icon' type='image/png' href='" + icon + "'/>" + + "<link rel='apple-touch-icon' type='image/png' href='" + icon + "'/>" + + "</html>" + ); + verify(webEngineView.waitForLoadSucceeded()); + + // The default favicon has to be loaded even if its URL is also set as a touch icon while touch icons are disabled. + tryCompare(iconChangedSpy, "count", 1); + compare(webEngineView.icon.toString().replace(/^image:\/\/favicon\//, ''), icon); + + iconChangedSpy.clear(); + + webEngineView.loadHtml( + "<html>" + + "<link rel='apple-touch-icon' type='image/png' href='" + icon + "'/>" + + "</html>" + ); + verify(webEngineView.waitForLoadSucceeded()); + + // This page only has a touch icon. With disabled touch icons we don't expect any icon to be shown even if the same icon + // was loaded previously. + tryCompare(iconChangedSpy, "count", 1); + verify(!webEngineView.icon.toString().replace(/^image:\/\/favicon\//, '')); + } } } diff --git a/tests/auto/quick/qmltests/data/tst_notification.qml b/tests/auto/quick/qmltests/data/tst_notification.qml index 609a04f61..af4aebafc 100644 --- a/tests/auto/quick/qmltests/data/tst_notification.qml +++ b/tests/auto/quick/qmltests/data/tst_notification.qml @@ -37,6 +37,7 @@ TestWebEngineView { property bool permissionRequested: false property bool grantPermission: false + property url securityOrigin: '' signal consoleMessage(string message) @@ -48,7 +49,8 @@ TestWebEngineView { onFeaturePermissionRequested: { if (feature === WebEngineView.Notifications) { - permissionRequested = true + view.permissionRequested = true + view.securityOrigin = securityOrigin view.grantFeaturePermission(securityOrigin, feature, grantPermission) } } @@ -111,6 +113,10 @@ TestWebEngineView { tryVerify(function () { return notification !== null }) compare(notification.title, title) compare(notification.message, message) + compare(notification.direction, Qt.RightToLeft) + compare(notification.origin, securityOrigin) + compare(notification.tag, 'tst') + compare(notification.language, 'de') } } } diff --git a/tests/auto/quick/quick.pro b/tests/auto/quick/quick.pro index 46dd57f76..81b62b4e7 100644 --- a/tests/auto/quick/quick.pro +++ b/tests/auto/quick/quick.pro @@ -18,4 +18,4 @@ qtConfig(webengine-testsupport) { } # QTBUG-66055 -boot2qt: SUBDIRS -= inspectorserver qquickwebenginedefaultsurfaceformat qquickwebengineview qmltests dialogs qtbug-70248 +boot2qt: SUBDIRS -= inspectorserver qquickwebengineview qmltests |