summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui
diff options
context:
space:
mode:
authorMorten Johan Sørvig <morten.sorvig@qt.io>2020-06-16 15:46:16 +0200
committerMorten Johan Sørvig <morten.sorvig@qt.io>2020-11-06 09:16:30 +0000
commit52ce0c177e80c2d5b70b38d429abb3689b3da51e (patch)
tree3bb7bac43440b2f1e08c85a5d353a1157143c5b9 /tests/auto/gui
parent83982ac1c5f2222e762944279fe7d126ac62a026 (diff)
Set the url to have the AtNx filename if one is found
There’s no need to convert the file name/path to QUrl, and then back again to QString before calling qt_findAtNxFile(). Call qt_findAtNxFile first, and then convert to QUrl. This makes sure the url-name and string-name stays in sync. Change-Id: I8b8939eabbdaff473945ebe31faafd408e9c4295 Pick-to: 5.15 Fixes: QTBUG-60793 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Diffstat (limited to 'tests/auto/gui')
-rw-r--r--tests/auto/gui/text/qtextimagehandler/data/image.pngbin0 -> 101 bytes
-rw-r--r--tests/auto/gui/text/qtextimagehandler/data/image@2x.pngbin0 -> 102 bytes
-rw-r--r--tests/auto/gui/text/qtextimagehandler/qtextimagehandler.pro4
-rw-r--r--tests/auto/gui/text/qtextimagehandler/tst_qtextimagehandler.cpp87
4 files changed, 91 insertions, 0 deletions
diff --git a/tests/auto/gui/text/qtextimagehandler/data/image.png b/tests/auto/gui/text/qtextimagehandler/data/image.png
new file mode 100644
index 0000000000..dd589dd49c
--- /dev/null
+++ b/tests/auto/gui/text/qtextimagehandler/data/image.png
Binary files differ
diff --git a/tests/auto/gui/text/qtextimagehandler/data/image@2x.png b/tests/auto/gui/text/qtextimagehandler/data/image@2x.png
new file mode 100644
index 0000000000..6b4c0bd059
--- /dev/null
+++ b/tests/auto/gui/text/qtextimagehandler/data/image@2x.png
Binary files differ
diff --git a/tests/auto/gui/text/qtextimagehandler/qtextimagehandler.pro b/tests/auto/gui/text/qtextimagehandler/qtextimagehandler.pro
new file mode 100644
index 0000000000..6214171377
--- /dev/null
+++ b/tests/auto/gui/text/qtextimagehandler/qtextimagehandler.pro
@@ -0,0 +1,4 @@
+CONFIG += testcase
+TARGET = tst_qtextimagehandler
+QT += core-private gui gui-private testlib
+SOURCES += tst_qtextimagehandler.cpp
diff --git a/tests/auto/gui/text/qtextimagehandler/tst_qtextimagehandler.cpp b/tests/auto/gui/text/qtextimagehandler/tst_qtextimagehandler.cpp
new file mode 100644
index 0000000000..ee79c36ba5
--- /dev/null
+++ b/tests/auto/gui/text/qtextimagehandler/tst_qtextimagehandler.cpp
@@ -0,0 +1,87 @@
+/****************************************************************************
+ **
+ ** Copyright (C) 2020 The Qt Company Ltd.
+ ** Contact: https://www.qt.io/licensing/
+ **
+ ** This file is part of the test suite 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 <QtTest/QtTest>
+
+#include <QPainter>
+#include <private/qtextimagehandler_p.h>
+
+class tst_QTextImageHandler : public QObject
+{
+ Q_OBJECT
+
+public:
+ tst_QTextImageHandler();
+
+private slots:
+ void init();
+ void cleanup();
+ void cleanupTestCase();
+ void loadAtNImages();
+};
+
+tst_QTextImageHandler::tst_QTextImageHandler()
+{
+}
+
+void tst_QTextImageHandler::init()
+{
+}
+
+void tst_QTextImageHandler::cleanup()
+{
+}
+
+void tst_QTextImageHandler::cleanupTestCase()
+{
+}
+
+void tst_QTextImageHandler::loadAtNImages()
+{
+ QTextDocument doc;
+ QTextCursor c(&doc);
+ c.insertHtml("<img src=\"data/image.png\">");
+ QTextImageHandler handler;
+ QTextImageFormat fmt;
+ fmt.setName("data/image.png");
+
+ for (int i = 1; i < 3; ++i) {
+ QImage img(20, 20, QImage::Format_ARGB32_Premultiplied);
+ img.fill(Qt::white);
+ img.setDevicePixelRatio(i);
+ QPainter p(&img);
+ handler.drawObject(&p, QRect(0, 0, 20, 20), &doc, 0, fmt);
+ p.end();
+ QVERIFY(!img.isNull());
+ const auto expectedColor = i == 1 ? Qt::red : Qt::green;
+ QCOMPARE(img.pixelColor(0, 0), expectedColor);
+ }
+}
+
+QTEST_MAIN(tst_QTextImageHandler)
+#include "tst_qtextimagehandler.moc"