summaryrefslogtreecommitdiffstats
path: root/src/testlib/qtestjunitstreamer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/testlib/qtestjunitstreamer.cpp')
-rw-r--r--src/testlib/qtestjunitstreamer.cpp34
1 files changed, 23 insertions, 11 deletions
diff --git a/src/testlib/qtestjunitstreamer.cpp b/src/testlib/qtestjunitstreamer.cpp
index 844f80f90c2..28879c6e061 100644
--- a/src/testlib/qtestjunitstreamer.cpp
+++ b/src/testlib/qtestjunitstreamer.cpp
@@ -82,12 +82,17 @@ void QTestJUnitStreamer::formatStart(const QTestElement *element, QTestCharBuffe
char indent[20];
indentForElement(element, indent, sizeof(indent));
- // Errors are written as CDATA within system-err, comments elsewhere
- if (element->elementType() == QTest::LET_Error) {
- if (element->parentElement()->elementType() == QTest::LET_SystemError) {
+ // Messages/errors are written as CDATA within system-out, system-err,
+ // respectively, comments elsewhere
+ if (element->elementType() == QTest::LET_Message) {
+ switch (element->parentElement()->elementType()) {
+ case QTest::LET_SystemOutput:
+ case QTest::LET_SystemError:
QTest::qt_asprintf(formatted, "<![CDATA[");
- } else {
+ break;
+ default:
QTest::qt_asprintf(formatted, "%s<!--", indent);
+ break;
}
return;
}
@@ -118,9 +123,11 @@ void QTestJUnitStreamer::formatAttributes(const QTestElement* element, const QTe
QTest::AttributeIndex attrindex = attribute->index();
- // For errors within system-err, we only want to output `message'
- if (element && element->elementType() == QTest::LET_Error
- && element->parentElement()->elementType() == QTest::LET_SystemError) {
+ // For messages/errors within system-out, system-err, respectively,
+ // we only want to output `message'
+ if (element && element->elementType() == QTest::LET_Message
+ && (element->parentElement()->elementType() == QTest::LET_SystemOutput
+ || element->parentElement()->elementType() == QTest::LET_SystemError)) {
if (attrindex != QTest::AI_Description) return;
@@ -148,12 +155,17 @@ void QTestJUnitStreamer::formatAfterAttributes(const QTestElement *element, QTes
if (!element || !formatted )
return;
- // Errors are written as CDATA within system-err, comments elsewhere
- if (element->elementType() == QTest::LET_Error) {
- if (element->parentElement()->elementType() == QTest::LET_SystemError) {
+ // Messages/errors are written as CDATA within system-out, system-err,
+ // respectively, comments elsewhere
+ if (element->elementType() == QTest::LET_Message) {
+ switch (element->parentElement()->elementType()) {
+ case QTest::LET_SystemOutput:
+ case QTest::LET_SystemError:
QTest::qt_asprintf(formatted, "]]>\n");
- } else {
+ break;
+ default:
QTest::qt_asprintf(formatted, " -->\n");
+ break;
}
return;
}