diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp | 25 | ||||
-rw-r--r-- | tests/auto/widgets/widgets/qlabel/tst_qlabel.cpp | 26 |
2 files changed, 51 insertions, 0 deletions
diff --git a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp index c290305d2f..4e0b7f46df 100644 --- a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp +++ b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp @@ -47,6 +47,7 @@ #include <qimage.h> #include <qtextlayout.h> #include <QDomDocument> +#include <qurlresourceprovider.h> #include "common.h" // #define DEBUG_WRITE_OUTPUT @@ -192,6 +193,8 @@ private slots: void clearUndoRedoStacks(); void mergeFontFamilies(); + void resourceProvider(); + private: void backgroundImage_checkExpectedHtml(const QTextDocument &doc); void buildRegExpData(); @@ -3593,6 +3596,28 @@ void tst_QTextDocument::clearUndoRedoStacks() QVERIFY(!doc.isUndoAvailable()); } +class UrlResourceProvider : public QUrlResourceProvider +{ +public: + QVariant resource(const QUrl &url) override + { + resourseUrl = url; + return QVariant(); + } + + QUrl resourseUrl; +}; + +void tst_QTextDocument::resourceProvider() +{ + QTextDocument doc; + UrlResourceProvider resourceProvider; + doc.setResourceProvider(&resourceProvider); + QUrl url("test://img"); + doc.setHtml(QStringLiteral("<img src='%1'/>").arg(url.toString())); + doc.resource(QTextDocument::UserResource, url); + QCOMPARE(url, resourceProvider.resourseUrl); +} QTEST_MAIN(tst_QTextDocument) #include "tst_qtextdocument.moc" diff --git a/tests/auto/widgets/widgets/qlabel/tst_qlabel.cpp b/tests/auto/widgets/widgets/qlabel/tst_qlabel.cpp index ea72c91b0a..5eed823a34 100644 --- a/tests/auto/widgets/widgets/qlabel/tst_qlabel.cpp +++ b/tests/auto/widgets/widgets/qlabel/tst_qlabel.cpp @@ -40,6 +40,7 @@ #include <qmessagebox.h> #include <qfontmetrics.h> #include <qmath.h> +#include <qurlresourceprovider.h> #include <private/qlabel_p.h> class Widget : public QWidget @@ -103,6 +104,8 @@ private Q_SLOTS: void taskQTBUG_48157_dprPixmap(); void taskQTBUG_48157_dprMovie(); + void resourceProvider(); + private: QLabel *testWidget; QPointer<Widget> test_box; @@ -596,5 +599,28 @@ void tst_QLabel::taskQTBUG_48157_dprMovie() QCOMPARE(label.sizeHint(), movie.currentPixmap().size() / movie.currentPixmap().devicePixelRatio()); } +class UrlResourceProvider : public QUrlResourceProvider +{ +public: + QVariant resource(const QUrl &url) override + { + resourseUrl = url; + return QVariant(); + } + + QUrl resourseUrl; +}; + +void tst_QLabel::resourceProvider() +{ + QLabel label; + UrlResourceProvider resourceProvider; + label.setResourceProvider(&resourceProvider); + QUrl url("test://img"); + label.setText(QStringLiteral("<img src='%1'/>").arg(url.toString())); + label.show(); + QCOMPARE(url, resourceProvider.resourseUrl); +} + QTEST_MAIN(tst_QLabel) #include "tst_qlabel.moc" |