diff options
Diffstat (limited to 'src/testlib/qabstracttestlogger.cpp')
-rw-r--r-- | src/testlib/qabstracttestlogger.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/testlib/qabstracttestlogger.cpp b/src/testlib/qabstracttestlogger.cpp index 63c165b9dc..2b54cd410b 100644 --- a/src/testlib/qabstracttestlogger.cpp +++ b/src/testlib/qabstracttestlogger.cpp @@ -39,6 +39,7 @@ #include <QtTest/private/qabstracttestlogger_p.h> #include <QtTest/qtestassert.h> +#include <qtestresult_p.h> #include <QtCore/qbytearray.h> #include <QtCore/qstring.h> @@ -189,4 +190,26 @@ int qt_asprintf(QTestCharBuffer *str, const char *format, ...) } +namespace QTestPrivate +{ + +void generateTestIdentifier(QTestCharBuffer *identifier, int parts) +{ + const char *testObject = parts & TestObject ? QTestResult::currentTestObjectName() : ""; + const char *testFunction = parts & TestFunction ? (QTestResult::currentTestFunction() ? QTestResult::currentTestFunction() : "UnknownTestFunc") : ""; + const char *objectFunctionFiller = parts & TestObject && parts & (TestFunction | TestDataTag) ? "::" : ""; + const char *testFuctionStart = parts & TestFunction ? "(" : ""; + const char *testFuctionEnd = parts & TestFunction ? ")" : ""; + + const char *dataTag = (parts & TestDataTag) && QTestResult::currentDataTag() ? QTestResult::currentDataTag() : ""; + const char *globalDataTag = (parts & TestDataTag) && QTestResult::currentGlobalDataTag() ? QTestResult::currentGlobalDataTag() : ""; + const char *tagFiller = (dataTag[0] && globalDataTag[0]) ? ":" : ""; + + QTest::qt_asprintf(identifier, "%s%s%s%s%s%s%s%s", + testObject, objectFunctionFiller, testFunction, testFuctionStart, + globalDataTag, tagFiller, dataTag, testFuctionEnd); +} + +} + QT_END_NAMESPACE |