summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/auto/widgets/styles/qstyle/task_25863.pngbin910 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/testdata.qrc1
-rw-r--r--tests/auto/widgets/styles/qstyle/tst_qstyle.cpp15
3 files changed, 8 insertions, 8 deletions
diff --git a/tests/auto/widgets/styles/qstyle/task_25863.png b/tests/auto/widgets/styles/qstyle/task_25863.png
deleted file mode 100644
index a2de8d6f78..0000000000
--- a/tests/auto/widgets/styles/qstyle/task_25863.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/widgets/styles/qstyle/testdata.qrc b/tests/auto/widgets/styles/qstyle/testdata.qrc
index c16b9be775..29bb46726e 100644
--- a/tests/auto/widgets/styles/qstyle/testdata.qrc
+++ b/tests/auto/widgets/styles/qstyle/testdata.qrc
@@ -15,6 +15,5 @@
<file>images/vista/radiobutton.png</file>
<file>images/vista/slider.png</file>
<file>images/vista/spinbox.png</file>
- <file>task_25863.png</file>
</qresource>
</RCC>
diff --git a/tests/auto/widgets/styles/qstyle/tst_qstyle.cpp b/tests/auto/widgets/styles/qstyle/tst_qstyle.cpp
index 5925b764dd..fcb05f6b74 100644
--- a/tests/auto/widgets/styles/qstyle/tst_qstyle.cpp
+++ b/tests/auto/widgets/styles/qstyle/tst_qstyle.cpp
@@ -58,6 +58,8 @@
#include <qscrollarea.h>
#include <qwidget.h>
+#include <algorithm>
+
// Make a widget frameless to prevent size constraints of title bars
// from interfering (Windows).
static inline void setFrameless(QWidget *w)
@@ -208,13 +210,12 @@ void tst_QStyle::drawItemPixmap()
testWidget->resize(300, 300);
testWidget->showNormal();
- const QString imageFileName = QFINDTESTDATA("task_25863.png");
- QVERIFY(!imageFileName.isEmpty());
-
- QPixmap p(imageFileName, "PNG");
- const QPixmap actualPix = testWidget->grab();
-
- QCOMPARE(actualPix, p);
+ QImage image = testWidget->grab().toImage();
+ const QRgb green = QColor(Qt::green).rgb();
+ QVERIFY(image.reinterpretAsFormat(QImage::Format_RGB32));
+ const QRgb *bits = reinterpret_cast<const QRgb *>(image.constBits());
+ const QRgb *end = bits + image.byteCount() / sizeof(QRgb);
+ QVERIFY(std::all_of(bits, end, [green] (QRgb r) { return r == green; }));
testWidget->hide();
}