From bbded12df3a7465dc72872e69b7b34b815e7e81c Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Mon, 7 Jul 2014 19:29:23 -0700 Subject: Update QFileSelector to use QSysInfo better This reduces a bit of string duplication by relying on the constants defined in qglobal.cpp and detection via uname(2), in addition to adding the Linux distribution name as a selector. Change-Id: I64a46a0fc552c399db787125b1b32aae5c50056f Reviewed-by: Oswald Buddenhagen Reviewed-by: Alan Alpert --- .../auto/corelib/io/qfileselector/tst_qfileselector.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'tests/auto/corelib/io/qfileselector/tst_qfileselector.cpp') diff --git a/tests/auto/corelib/io/qfileselector/tst_qfileselector.cpp b/tests/auto/corelib/io/qfileselector/tst_qfileselector.cpp index 26bb4189d7..831db9e0b4 100644 --- a/tests/auto/corelib/io/qfileselector/tst_qfileselector.cpp +++ b/tests/auto/corelib/io/qfileselector/tst_qfileselector.cpp @@ -84,8 +84,10 @@ void tst_QFileSelector::basicTest_data() QString test("/test");// '/' is here so dir string can also be selector string QString test2("/test2"); + QString test3("/test3"); QString expectedPlatform1File(":/platforms"); QString expectedPlatform2File(""); //Only the last selector + QString expectedPlatform3File; // Only the first selector (the family) #if defined(Q_OS_UNIX) && !defined(Q_OS_ANDROID) && !defined(Q_OS_BLACKBERRY) && \ !defined(Q_OS_DARWIN) && !defined(Q_OS_LINUX) /* We are only aware of specific unixes, and do not have test files for any of the others. @@ -96,14 +98,26 @@ void tst_QFileSelector::basicTest_data() + QString("unix/test"); expectedPlatform2File = QString(":/platforms/test2"); #else + QString distributionName; +# if (defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID)) || defined(Q_OS_FREEBSD) + distributionName = QSysInfo::productType(); +# endif foreach (const QString &selector, QFileSelectorPrivate::platformSelectors()) { + // skip the Linux distribution name (if any) since we don't have files for them + if (selector == distributionName) + continue; + expectedPlatform1File = expectedPlatform1File + QLatin1Char('/') + QLatin1Char(selectorIndicator) + selector; expectedPlatform2File = selector; + if (expectedPlatform3File.isNull()) + expectedPlatform3File = selector; } expectedPlatform1File += test; expectedPlatform2File = QLatin1String(":/platforms/") + QLatin1Char(selectorIndicator) + expectedPlatform2File + test2; + expectedPlatform3File = QLatin1String(":/platforms/") + QLatin1Char(selectorIndicator) + + expectedPlatform3File + test3; #endif QTest::newRow("platform1") << QString(":/platforms/test") << QStringList() @@ -112,6 +126,9 @@ void tst_QFileSelector::basicTest_data() QTest::newRow("platform2") << QString(":/platforms/test2") << QStringList() << expectedPlatform2File; + QTest::newRow("platform3") << QString(":/platforms/test3") << QStringList() + << expectedPlatform3File; + QString resourceTestPath(":/extras/test"); QString custom1("custom1"); QTest::newRow("custom1-noselector") << resourceTestPath << QStringList() -- cgit v1.2.3