Add a testcase of a list of UUIDs in string form.

UUIDs are a good testcase, because the textual content is all fairly similar.
This also changes data generation to be a little neater now that we're starting
to get multiple pieces of data.

Change-Id: Ie4100a1ca4dbe7bf1cd73de883a9854377ac2f5e
Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
This commit is contained in:
Robin Burchell 2012-01-22 14:46:13 +02:00 committed by Qt by Nokia
parent 28f02bcd51
commit 3af86043ba

View File

@ -45,7 +45,7 @@
#include <QHash>
#include <QString>
#include <QStringList>
#include <QUuid>
#include <QTest>
@ -69,12 +69,36 @@ private:
void tst_QHash::data()
{
QFile smallPathsData("paths_small_data.txt");
smallPathsData.open(QIODevice::ReadOnly);
QTest::addColumn<QStringList>("items");
QTest::newRow("paths-small")
<< QString::fromLatin1(smallPathsData.readAll()).split(QLatin1Char('\n'));
static QStringList smallFilePaths;
{
// small list of file paths
if (smallFilePaths.isEmpty()) {
QFile smallPathsData("paths_small_data.txt");
QVERIFY(smallPathsData.open(QIODevice::ReadOnly));
smallFilePaths = QString::fromLatin1(smallPathsData.readAll()).split(QLatin1Char('\n'));
Q_ASSERT(!smallFilePaths.isEmpty());
}
QTest::newRow("paths-small") << smallFilePaths;
}
{
// list of UUIDs
static QStringList uuids;
if (uuids.isEmpty()) {
// guaranteed to be completely random, generated by http://xkcd.com/221/
QUuid ns = QUuid("{f43d2ef3-2fe9-4563-a6f5-5a0100c2d699}");
uuids.reserve(smallFilePaths.size());
foreach (const QString &path, smallFilePaths)
uuids.append(QUuid::createUuidV5(ns, path).toString());
}
QTest::newRow("uuids-list") << uuids;
}
}
void tst_QHash::qhash_qt4()