From 96b7ea3a9590d8fef4cbcdf5f70f2dd029ce5e6a Mon Sep 17 00:00:00 2001 From: Michal Klocek Date: Mon, 2 Jul 2018 10:44:19 +0200 Subject: Move printing out of tst_qwebenginepage Change-Id: Ida7ee0e4a31a1c19d7b2eaf572b6ff703cbab79d Reviewed-by: Kai Koehne --- tests/auto/widgets/printing/printing.pro | 2 + .../printing/resources/basic_printing_page.html | 8 +++ tests/auto/widgets/printing/tst_printing.cpp | 84 ++++++++++++++++++++++ tests/auto/widgets/printing/tst_printing.qrc | 5 ++ .../auto/widgets/qwebenginepage/qwebenginepage.pro | 2 - .../resources/basic_printing_page.html | 8 --- .../widgets/qwebenginepage/tst_qwebenginepage.cpp | 45 ------------ .../widgets/qwebenginepage/tst_qwebenginepage.qrc | 1 - tests/auto/widgets/widgets.pro | 6 +- 9 files changed, 104 insertions(+), 57 deletions(-) create mode 100644 tests/auto/widgets/printing/printing.pro create mode 100644 tests/auto/widgets/printing/resources/basic_printing_page.html create mode 100644 tests/auto/widgets/printing/tst_printing.cpp create mode 100644 tests/auto/widgets/printing/tst_printing.qrc delete mode 100644 tests/auto/widgets/qwebenginepage/resources/basic_printing_page.html (limited to 'tests') diff --git a/tests/auto/widgets/printing/printing.pro b/tests/auto/widgets/printing/printing.pro new file mode 100644 index 000000000..4926103e7 --- /dev/null +++ b/tests/auto/widgets/printing/printing.pro @@ -0,0 +1,2 @@ +include(../tests.pri) +QT *= core-private diff --git a/tests/auto/widgets/printing/resources/basic_printing_page.html b/tests/auto/widgets/printing/resources/basic_printing_page.html new file mode 100644 index 000000000..0c6ff379f --- /dev/null +++ b/tests/auto/widgets/printing/resources/basic_printing_page.html @@ -0,0 +1,8 @@ + + + Basic Printing Page + + +

Hello Paper World

+ + diff --git a/tests/auto/widgets/printing/tst_printing.cpp b/tests/auto/widgets/printing/tst_printing.cpp new file mode 100644 index 000000000..aa8b70c4c --- /dev/null +++ b/tests/auto/widgets/printing/tst_printing.cpp @@ -0,0 +1,84 @@ +/**************************************************************************** +** +** Copyright (C) 2018 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtWebEngine module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include +#include +#include +#include + +class tst_Printing : public QObject +{ + Q_OBJECT +private slots: + void printToPdf(); +}; + + +void tst_Printing::printToPdf() +{ + QTemporaryDir tempDir(QDir::tempPath() + "/tst_qwebengineview-XXXXXX"); + QVERIFY(tempDir.isValid()); + QWebEnginePage page; + QSignalSpy spy(&page, SIGNAL(loadFinished(bool))); + page.load(QUrl("qrc:///resources/basic_printing_page.html")); + QTRY_VERIFY(spy.count() == 1); + + QSignalSpy savePdfSpy(&page, SIGNAL(pdfPrintingFinished(const QString&, bool))); + QPageLayout layout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF(0.0, 0.0, 0.0, 0.0)); + QString path = tempDir.path() + "/print_1_success.pdf"; + page.printToPdf(path, layout); + QTRY_VERIFY2(savePdfSpy.count() == 1, "Printing to PDF file failed without signal"); + + QList successArguments = savePdfSpy.takeFirst(); + QVERIFY2(successArguments.at(0).toString() == path, "File path for first saved PDF does not match arguments"); + QVERIFY2(successArguments.at(1).toBool() == true, "Printing to PDF file failed though it should succeed"); + +#if !defined(Q_OS_WIN) + path = tempDir.path() + "/print_//2_failed.pdf"; +#else + path = tempDir.path() + "/print_|2_failed.pdf"; +#endif + page.printToPdf(path, QPageLayout()); + QTRY_VERIFY2(savePdfSpy.count() == 1, "Printing to PDF file failed without signal"); + + QList failedArguments = savePdfSpy.takeFirst(); + QVERIFY2(failedArguments.at(0).toString() == path, "File path for second saved PDF does not match arguments"); + QVERIFY2(failedArguments.at(1).toBool() == false, "Printing to PDF file succeeded though it should fail"); + + CallbackSpy successfulSpy; + page.printToPdf(successfulSpy.ref(), layout); + QVERIFY(successfulSpy.waitForResult().length() > 0); + + CallbackSpy failedInvalidLayoutSpy; + page.printToPdf(failedInvalidLayoutSpy.ref(), QPageLayout()); + QCOMPARE(failedInvalidLayoutSpy.waitForResult().length(), 0); +} + +QTEST_MAIN(tst_Printing) +#include "tst_printing.moc" diff --git a/tests/auto/widgets/printing/tst_printing.qrc b/tests/auto/widgets/printing/tst_printing.qrc new file mode 100644 index 000000000..b1795ef8a --- /dev/null +++ b/tests/auto/widgets/printing/tst_printing.qrc @@ -0,0 +1,5 @@ + + + resources/basic_printing_page.html + + diff --git a/tests/auto/widgets/qwebenginepage/qwebenginepage.pro b/tests/auto/widgets/qwebenginepage/qwebenginepage.pro index 8e7453827..18a66c466 100644 --- a/tests/auto/widgets/qwebenginepage/qwebenginepage.pro +++ b/tests/auto/widgets/qwebenginepage/qwebenginepage.pro @@ -1,5 +1,3 @@ include(../tests.pri) include(../../shared/http.pri) QT *= core-private - -qtConfig(webengine-printing-and-pdf): DEFINES+=QWEBENGINEPAGE_PDFPRINTINGENABLED diff --git a/tests/auto/widgets/qwebenginepage/resources/basic_printing_page.html b/tests/auto/widgets/qwebenginepage/resources/basic_printing_page.html deleted file mode 100644 index 0c6ff379f..000000000 --- a/tests/auto/widgets/qwebenginepage/resources/basic_printing_page.html +++ /dev/null @@ -1,8 +0,0 @@ - - - Basic Printing Page - - -

Hello Paper World

- - diff --git a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp index a5eb575b9..4ce971c4b 100644 --- a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp +++ b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp @@ -208,7 +208,6 @@ private Q_SLOTS: void mouseButtonTranslation(); void mouseMovementProperties(); - void printToPdf(); void viewSource(); void viewSourceURL_data(); void viewSourceURL(); @@ -4033,50 +4032,6 @@ void tst_QWebEnginePage::setZoomFactor() QVERIFY(qFuzzyCompare(page.zoomFactor(), 2.5)); } -void tst_QWebEnginePage::printToPdf() -{ -#if !defined(QWEBENGINEPAGE_PDFPRINTINGENABLED) - QSKIP("QWEBENGINEPAGE_PDFPRINTINGENABLED"); -#else - QTemporaryDir tempDir(QDir::tempPath() + "/tst_qwebengineview-XXXXXX"); - QVERIFY(tempDir.isValid()); - QWebEnginePage page; - QSignalSpy spy(&page, SIGNAL(loadFinished(bool))); - page.load(QUrl("qrc:///resources/basic_printing_page.html")); - QTRY_VERIFY(spy.count() == 1); - - QSignalSpy savePdfSpy(&page, SIGNAL(pdfPrintingFinished(const QString&, bool))); - QPageLayout layout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF(0.0, 0.0, 0.0, 0.0)); - QString path = tempDir.path() + "/print_1_success.pdf"; - page.printToPdf(path, layout); - QTRY_VERIFY2(savePdfSpy.count() == 1, "Printing to PDF file failed without signal"); - - QList successArguments = savePdfSpy.takeFirst(); - QVERIFY2(successArguments.at(0).toString() == path, "File path for first saved PDF does not match arguments"); - QVERIFY2(successArguments.at(1).toBool() == true, "Printing to PDF file failed though it should succeed"); - -#if !defined(Q_OS_WIN) - path = tempDir.path() + "/print_//2_failed.pdf"; -#else - path = tempDir.path() + "/print_|2_failed.pdf"; -#endif - page.printToPdf(path, QPageLayout()); - QTRY_VERIFY2(savePdfSpy.count() == 1, "Printing to PDF file failed without signal"); - - QList failedArguments = savePdfSpy.takeFirst(); - QVERIFY2(failedArguments.at(0).toString() == path, "File path for second saved PDF does not match arguments"); - QVERIFY2(failedArguments.at(1).toBool() == false, "Printing to PDF file succeeded though it should fail"); - - CallbackSpy successfulSpy; - page.printToPdf(successfulSpy.ref(), layout); - QVERIFY(successfulSpy.waitForResult().length() > 0); - - CallbackSpy failedInvalidLayoutSpy; - page.printToPdf(failedInvalidLayoutSpy.ref(), QPageLayout()); - QCOMPARE(failedInvalidLayoutSpy.waitForResult().length(), 0); -#endif -} - void tst_QWebEnginePage::mouseButtonTranslation() { QWebEngineView view; diff --git a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.qrc b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.qrc index 0e8381f21..3bb88cbe1 100644 --- a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.qrc +++ b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.qrc @@ -1,6 +1,5 @@ - resources/basic_printing_page.html resources/content.html resources/dynamicFrame.html resources/index.html diff --git a/tests/auto/widgets/widgets.pro b/tests/auto/widgets/widgets.pro index 7728a7a51..faafeb69f 100644 --- a/tests/auto/widgets/widgets.pro +++ b/tests/auto/widgets/widgets.pro @@ -1,5 +1,5 @@ include($$QTWEBENGINE_OUT_ROOT/src/core/qtwebenginecore-config.pri) # workaround for QTBUG-68093 -QT_FOR_CONFIG += webenginecore +QT_FOR_CONFIG += webenginecore webenginecore-private TEMPLATE = subdirs @@ -23,6 +23,10 @@ qtConfig(accessibility) { SUBDIRS += qwebengineaccessibility } +qtConfig(webengine-printing-and-pdf) { + SUBDIRS += printing +} + qtConfig(webengine-spellchecker):!cross_compile { !qtConfig(webengine-native-spellchecker) { SUBDIRS += qwebenginespellcheck -- cgit v1.2.3