summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2017-05-04 23:55:07 +0300
committerhjk <hjk@qt.io>2017-08-11 10:12:04 +0200
commitea4b5429bbc1281394d5d1aac82f9fdebc5b2d90 (patch)
tree30f3467eabd6d5c76f0da649e69fa259d7b60f78
parent62133696750624d16ef729da6f0528da4b2690a8 (diff)
downloadqt-creator-drafts/for/4.3.tar.gz
Dumpers: Add a failing test for string display()drafts/for/masterdrafts/for/4.3
Change-Id: Ib70761ffcd76bdfed7879c222d471b50a8b32c0b
-rw-r--r--share/qtcreator/debugger/misctypes.py8
-rw-r--r--tests/auto/debugger/tst_dumpers.cpp19
2 files changed, 27 insertions, 0 deletions
diff --git a/share/qtcreator/debugger/misctypes.py b/share/qtcreator/debugger/misctypes.py
index 30c5985e5e..f19debfe4a 100644
--- a/share/qtcreator/debugger/misctypes.py
+++ b/share/qtcreator/debugger/misctypes.py
@@ -381,3 +381,11 @@ def qdump__QtcDumperTest_BufArray(d, value):
for i in d.childRange():
d.putSubItem(i, (buffer + (i * objsize)).dereference().cast(valueType))
+
+def qdump__QtcDumperTest_String(d, value):
+ with Children(d):
+ first = d.hexdecode(d.putSubItem('first', value['first']).value)
+ second = d.hexdecode(d.putSubItem('second', value['second']).value)
+ third = d.hexdecode(d.putSubItem('third', value['third']).value)[:-1]
+ d.putValue(first + ', ' + second + ', ' + third)
+
diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp
index 6fe3d99bdd..8f2f9087af 100644
--- a/tests/auto/debugger/tst_dumpers.cpp
+++ b/tests/auto/debugger/tst_dumpers.cpp
@@ -6846,6 +6846,25 @@ void tst_Dumpers::dumper_data()
+ Check("arr.2.baz", "5", "int");
+ QTest::newRow("StringDisplay")
+ << Data("#include <string.h>\n"
+ "struct QtcDumperTest_String"
+ "{\n"
+ " char *first;\n"
+ " const char *second = \"second\";\n"
+ " const char third[6] = \"third\";\n"
+ " QtcDumperTest_String()\n"
+ " {\n"
+ " first = new char[6];\n"
+ " strcpy(first, \"first\");\n"
+ " }\n"
+ " ~QtcDumperTest_String() { delete[] first; }\n"
+ "};\n\n",
+ "QtcDumperTest_String str; unused(&str);\n")
+ + Cxx11Profile()
+ + Check("str", "first, second, third", "QtcDumperTest_String");
+
+
QTest::newRow("UndefinedStaticMembers")
<< Data("struct Foo { int a = 15; static int b; }; \n",
"Foo f; unused(&f);\n")