}
QByteArray intern(const QString &str);
- void updateTestObjectName();
QString testCaseName;
QString functionName;
return *(internedStrings.insert(bstr));
}
-void QuickTestResultPrivate::updateTestObjectName()
-{
- // In plain logging mode we use the TestCase name as the
- // class name so that multiple TestCase elements will report
- // results with "testCase::function". In XML logging mode,
- // we use the program name as the class name and report test
- // functions as "testCase__function".
- if (QTestLog::logMode() == QTestLog::Plain) {
- if (testCaseName.isEmpty()) {
- QTestResult::setCurrentTestObject(globalProgramName);
- } else if (QTestLog::logMode() == QTestLog::Plain) {
- QTestResult::setCurrentTestObject
- (intern(testCaseName).constData());
- }
- } else {
- QTestResult::setCurrentTestObject(globalProgramName);
- }
-}
-
QuickTestResult::QuickTestResult(QObject *parent)
: QObject(parent), d_ptr(new QuickTestResultPrivate)
{
{
Q_D(QuickTestResult);
d->testCaseName = name;
- d->updateTestObjectName();
emit testCaseNameChanged();
}
{
Q_D(QuickTestResult);
if (!name.isEmpty()) {
- // In plain logging mode, we use the function name directly.
- // In XML logging mode, we use "testCase__functionName" as the
- // program name is acting as the class name.
- if (QTestLog::logMode() == QTestLog::Plain ||
- d->testCaseName.isEmpty()) {
+ if (d->testCaseName.isEmpty()) {
QTestResult::setCurrentTestFunction
(d->intern(name).constData());
} else {
- QString fullName = d->testCaseName + QLatin1String("__") + name;
+ QString fullName = d->testCaseName + QLatin1String("::") + name;
QTestResult::setCurrentTestFunction
(d->intern(fullName).constData());
}
Q_D(QuickTestResult);
if (loggingStarted)
return;
- const char *saved = QTestResult::currentTestObjectName();
- if (globalProgramName) {
- QTestResult::setCurrentTestObject(globalProgramName);
- } else {
- QTestResult::setCurrentTestObject
- (d->intern(d->testCaseName).constData());
- }
QTestLog::startLogging();
- QTestResult::setCurrentTestObject(saved);
loggingStarted = true;
}
Q_D(QuickTestResult);
if (globalProgramName)
return; // Logging will be stopped by setProgramName(0).
- const char *saved = QTestResult::currentTestObjectName();
QTestResult::setCurrentTestObject(d->intern(d->testCaseName).constData());
QTestLog::stopLogging();
- QTestResult::setCurrentTestObject(saved);
}
void QuickTestResult::initTestTable()
QTestResult::setCurrentTestObject(0);
}
globalProgramName = name;
+ QTestResult::setCurrentTestObject(globalProgramName);
}
int QuickTestResult::exitCode()