summaryrefslogtreecommitdiffstats
path: root/src/testlib/qtest_gui.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/testlib/qtest_gui.h')
-rw-r--r--src/testlib/qtest_gui.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/testlib/qtest_gui.h b/src/testlib/qtest_gui.h
index 5027aea732..d0d56e7bd0 100644
--- a/src/testlib/qtest_gui.h
+++ b/src/testlib/qtest_gui.h
@@ -58,6 +58,7 @@
#include <QtGui/qcolor.h>
#include <QtGui/qpixmap.h>
#include <QtGui/qimage.h>
+#include <QtGui/qregion.h>
#ifdef QT_WIDGETS_LIB
#include <QtGui/qicon.h>
@@ -82,6 +83,39 @@ template<> inline char *toString(const QColor &color)
return qstrdup(color.name().toLocal8Bit().constData());
}
+template<> inline char *toString(const QRegion &region)
+{
+ QByteArray result = "QRegion(";
+ if (region.isNull()) {
+ result += "null";
+ } else if (region.isEmpty()) {
+ result += "empty";
+ } else {
+ const QVector<QRect> &rects = region.rects();
+ const int rectCount = rects.size();
+ if (rectCount > 1) {
+ result += QByteArray::number(rectCount);
+ result += " rectangles, ";
+ }
+ for (int i = 0; i < rectCount; ++i) {
+ if (i)
+ result += ", ";
+ const QRect &r = rects.at(i);
+ result += QByteArray::number(r.width());
+ result += 'x';
+ result += QByteArray::number(r.height());
+ if (r.x() >= 0)
+ result += '+';
+ result += QByteArray::number(r.x());
+ if (r.y() >= 0)
+ result += '+';
+ result += QByteArray::number(r.y());
+ }
+ }
+ result += ')';
+ return qstrdup(result.constData());
+}
+
inline bool qCompare(QIcon const &t1, QIcon const &t2, const char *actual, const char *expected,
const char *file, int line)
{