[kdevelop/kdevelop] plugins/gdb/unittests: Ensure gdb pretty-printers for QPoint, QSize and QRect match QDebug

David Faure <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit f02aad55feb4282a2d2529a934573397095cad7b by David Faure.
Committed on 10/08/2026 at 08:55.
Pushed by dfaure into branch 'master'.

Ensure gdb pretty-printers for QPoint, QSize and QRect match QDebug

M  +22   -9    plugins/gdb/unittests/test_gdbprinters.cpp

https://invent.kde.org/kdevelop/kdevelop/-/commit/f02aad55feb4282a2d2529a934573397095cad7b

diff --git a/plugins/gdb/unittests/test_gdbprinters.cpp b/plugins/gdb/unittests/test_gdbprinters.cpp
index 8cb7a3e312..88511c0dd1 100644
--- a/plugins/gdb/unittests/test_gdbprinters.cpp
+++ b/plugins/gdb/unittests/test_gdbprinters.cpp
@@ -16,7 +16,10 @@
 #include <QDebug>
 #include <QFileInfo>
 #include <QDir>
+#include <QPoint>
+#include <QRect>
 #include <QRegularExpression>
+#include <QSize>
 #include <QStandardPaths>
 
 #include <algorithm>
@@ -123,6 +126,16 @@ public:
     return output;
 }
 
+// formats the value like qDebug() does, to verify that a printer produces the same output
+template<typename T>
+[[nodiscard]] QByteArray formatValue(T&& value)
+{
+    QString result;
+    QDebug strm(&result);
+    strm.nospace().noquote() << value;
+    return result.toUtf8();
+}
+
 } // unnamed namespace
 
 void QtPrintersTest::initTestCase()
@@ -841,17 +854,17 @@ void QtPrintersTest::testQGeometry()
     gdb.execute("break qgeometry.cpp:29");
     gdb.execute("run");
 
-    QCOMPARE(printedValue(gdb, "defaultPoint"), "QPoint(0,0)");
-    QCOMPARE(printedValue(gdb, "point"), "QPoint(1,2)");
-    QCOMPARE(printedValue(gdb, "negativePoint"), "QPoint(-3,-4)");
+    QCOMPARE(printedValue(gdb, "defaultPoint"), formatValue(QPoint()));
+    QCOMPARE(printedValue(gdb, "point"), formatValue(QPoint(1, 2)));
+    QCOMPARE(printedValue(gdb, "negativePoint"), formatValue(QPoint(-3, -4)));
 
-    QCOMPARE(printedValue(gdb, "defaultSize"), "QSize(-1, -1)");
-    QCOMPARE(printedValue(gdb, "size"), "QSize(10, 20)");
+    QCOMPARE(printedValue(gdb, "defaultSize"), formatValue(QSize()));
+    QCOMPARE(printedValue(gdb, "size"), formatValue(QSize(10, 20)));
 
-    QCOMPARE(printedValue(gdb, "defaultRect"), "QRect(0,0 0x0)");
-    QCOMPARE(printedValue(gdb, "rect"), "QRect(1,2 30x40)");
-    QCOMPARE(printedValue(gdb, "negativeRect"), "QRect(-5,-6 7x8)");
-    QCOMPARE(printedValue(gdb, "emptyRect"), "QRect(1,2 0x0)");
+    QCOMPARE(printedValue(gdb, "defaultRect"), formatValue(QRect()));
+    QCOMPARE(printedValue(gdb, "rect"), formatValue(QRect(1, 2, 30, 40)));
+    QCOMPARE(printedValue(gdb, "negativeRect"), formatValue(QRect(-5, -6, 7, 8)));
+    QCOMPARE(printedValue(gdb, "emptyRect"), formatValue(QRect(1, 2, 0, 0)));
 }
 
 void QtPrintersTest::testQListPOD()
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.