From 3dcabd8c64c6e42c857b550d8dd7cca81f1f4ea2 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Wed, 22 Jul 2015 16:10:29 +0200 Subject: QMimeDatabase: Run more tests on non-XDG/shared-mime-info platforms On Windows and OS X, where QStandardPaths does not use XDG_DATA_DIRS/ _HOME and shared-mime-info is not installed, the tests that require additional shared mime info xml files were never run. Mend that by using QStandardPaths' test mode instead of setting XDG_DATA_HOME. Change-Id: I53b75c293c41c4dac63986dcb88972c2b54d5428 Reviewed-by: Friedemann Kleint Reviewed-by: David Faure --- .../qmimedatabase-cache/qmimedatabase-cache.pro | 2 + .../tst_qmimedatabase-cache.cpp | 2 +- .../qmimedatabase-xml/qmimedatabase-xml.pro | 2 + .../qmimedatabase-xml/tst_qmimedatabase-xml.cpp | 2 +- .../mimetypes/qmimedatabase/tst_qmimedatabase.cpp | 60 ++++++++++++++-------- .../mimetypes/qmimedatabase/tst_qmimedatabase.h | 7 ++- 6 files changed, 50 insertions(+), 25 deletions(-) (limited to 'tests/auto/corelib/mimetypes') diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/qmimedatabase-cache.pro b/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/qmimedatabase-cache.pro index d0dbf077c8..d0b834824a 100644 --- a/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/qmimedatabase-cache.pro +++ b/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/qmimedatabase-cache.pro @@ -11,3 +11,5 @@ RESOURCES += ../testdata.qrc *-g++*:QMAKE_CXXFLAGS += -W -Wall -Wextra -Wshadow -Wno-long-long -Wnon-virtual-dtor DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 + +unix:!mac:!qnx: DEFINES += USE_XDG_DATA_DIRS diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/tst_qmimedatabase-cache.cpp b/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/tst_qmimedatabase-cache.cpp index 7f78312582..2113672821 100644 --- a/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/tst_qmimedatabase-cache.cpp +++ b/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/tst_qmimedatabase-cache.cpp @@ -39,7 +39,7 @@ #include "../tst_qmimedatabase.cpp" -void tst_QMimeDatabase::init() +void tst_QMimeDatabase::initTestCaseInternal() { #ifdef QT_NO_PROCESS QSKIP("No qprocess support", SkipAll); diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/qmimedatabase-xml.pro b/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/qmimedatabase-xml.pro index 6d7cbc6016..4add6c2bcd 100644 --- a/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/qmimedatabase-xml.pro +++ b/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/qmimedatabase-xml.pro @@ -12,3 +12,5 @@ RESOURCES += ../testdata.qrc *-g++*:QMAKE_CXXFLAGS += -W -Wall -Wextra -Wshadow -Wno-long-long -Wnon-virtual-dtor DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 + +unix:!mac:!qnx: DEFINES += USE_XDG_DATA_DIRS diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/tst_qmimedatabase-xml.cpp b/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/tst_qmimedatabase-xml.cpp index e24b1b1249..c4a1dab697 100644 --- a/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/tst_qmimedatabase-xml.cpp +++ b/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/tst_qmimedatabase-xml.cpp @@ -33,7 +33,7 @@ #include "../tst_qmimedatabase.h" -void tst_QMimeDatabase::init() +void tst_QMimeDatabase::initTestCaseInternal() { qputenv("QT_NO_MIME_CACHE", "1"); } diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp index 99ebf77a3d..a4028ed70e 100644 --- a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp +++ b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp @@ -37,6 +37,8 @@ #include #include +#include +#include #include #include #include @@ -116,29 +118,30 @@ tst_QMimeDatabase::tst_QMimeDatabase() void tst_QMimeDatabase::initTestCase() { - QVERIFY(m_temporaryDir.isValid()); - - // Create a "global" and a "local" XDG data dir, right here. - // The local dir will be empty initially, while the global dir will contain a copy of freedesktop.org.xml + QStandardPaths::setTestModeEnabled(true); + m_localMimeDir = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + "/mime"; + if (QDir(m_localMimeDir).exists()) { + QVERIFY2(QDir(m_localMimeDir).removeRecursively(), qPrintable(m_localMimeDir + ": " + qt_error_string())); + } + QString errorMessage; +#ifdef USE_XDG_DATA_DIRS + // Create a temporary "global" XDG data dir for later use + // It will initially contain a copy of freedesktop.org.xml + QVERIFY(m_temporaryDir.isValid()); const QDir here = QDir(m_temporaryDir.path()); - m_globalXdgDir = m_temporaryDir.path() + QStringLiteral("/global"); - m_localXdgDir = m_temporaryDir.path() + QStringLiteral("/local"); - const QString globalPackageDir = m_globalXdgDir + QStringLiteral("/mime/packages"); - QVERIFY(here.mkpath(globalPackageDir) && here.mkpath(m_localXdgDir)); + QVERIFY(here.mkpath(globalPackageDir)); qputenv("XDG_DATA_DIRS", QFile::encodeName(m_globalXdgDir)); - qputenv("XDG_DATA_HOME", QFile::encodeName(m_localXdgDir)); - qDebug() << "\nLocal XDG_DATA_HOME: " << m_localXdgDir - << "\nGlobal XDG_DATA_DIRS: " << m_globalXdgDir; + qDebug() << "\nGlobal XDG_DATA_DIRS: " << m_globalXdgDir; const QString freeDesktopXml = QStringLiteral("freedesktop.org.xml"); const QString xmlFileName = QLatin1String(RESOURCE_PREFIX) + freeDesktopXml; const QString xmlTargetFileName = globalPackageDir + QLatin1Char('/') + freeDesktopXml; - QString errorMessage; QVERIFY2(copyResourceFile(xmlFileName, xmlTargetFileName, &errorMessage), qPrintable(errorMessage)); +#endif m_testSuite = QFINDTESTDATA("testfiles"); if (m_testSuite.isEmpty()) @@ -150,7 +153,19 @@ void tst_QMimeDatabase::initTestCase() m_qmlAgainFileName = QLatin1String(RESOURCE_PREFIX) + qmlAgainFileName; QVERIFY2(QFile::exists(m_qmlAgainFileName), qPrintable(errorMessage.arg(qmlAgainFileName))); - init(); + initTestCaseInternal(); + m_isUsingCacheProvider = !qEnvironmentVariableIsSet("QT_NO_MIME_CACHE"); +} + +void tst_QMimeDatabase::init() +{ + // clean up local data from previous runs + QDir(m_localMimeDir).removeRecursively(); +} + +void tst_QMimeDatabase::cleanupTestCase() +{ + QDir(m_localMimeDir).removeRecursively(); } void tst_QMimeDatabase::mimeTypeForName() @@ -847,6 +862,10 @@ QT_END_NAMESPACE void tst_QMimeDatabase::installNewGlobalMimeType() { +#if !defined(USE_XDG_DATA_DIRS) + QSKIP("This test requires XDG_DATA_DIRS"); +#endif + #ifdef QT_NO_PROCESS QSKIP("This test requires QProcess support"); #else @@ -868,7 +887,7 @@ void tst_QMimeDatabase::installNewGlobalMimeType() QString errorMessage; QVERIFY2(copyResourceFile(m_yastMimeTypes, destFile, &errorMessage), qPrintable(errorMessage)); QVERIFY2(copyResourceFile(m_qmlAgainFileName, destQmlFile, &errorMessage), qPrintable(errorMessage)); - if (!waitAndRunUpdateMimeDatabase(mimeDir)) + if (m_isUsingCacheProvider && !waitAndRunUpdateMimeDatabase(mimeDir)) QSKIP("shared-mime-info not found, skipping mime.cache test"); QCOMPARE(db.mimeTypeForFile(QLatin1String("foo.ymu"), QMimeDatabase::MatchExtension).name(), @@ -887,7 +906,7 @@ void tst_QMimeDatabase::installNewGlobalMimeType() // Now test removing it again QFile::remove(destFile); QFile::remove(destQmlFile); - if (!waitAndRunUpdateMimeDatabase(mimeDir)) + if (m_isUsingCacheProvider && !waitAndRunUpdateMimeDatabase(mimeDir)) QSKIP("shared-mime-info not found, skipping mime.cache test"); QCOMPARE(db.mimeTypeForFile(QLatin1String("foo.ymu"), QMimeDatabase::MatchExtension).name(), QString::fromLatin1("application/octet-stream")); @@ -905,8 +924,7 @@ void tst_QMimeDatabase::installNewLocalMimeType() QMimeDatabase db; QVERIFY(!db.mimeTypeForName(QLatin1String("text/x-suse-ymp")).isValid()); - const QString mimeDir = m_localXdgDir + QLatin1String("/mime"); - const QString destDir = mimeDir + QLatin1String("/packages/"); + const QString destDir = m_localMimeDir + QLatin1String("/packages/"); QDir().mkpath(destDir); const QString destFile = destDir + QLatin1String(yastFileName); QFile::remove(destFile); @@ -915,9 +933,9 @@ void tst_QMimeDatabase::installNewLocalMimeType() QString errorMessage; QVERIFY2(copyResourceFile(m_yastMimeTypes, destFile, &errorMessage), qPrintable(errorMessage)); QVERIFY2(copyResourceFile(m_qmlAgainFileName, destQmlFile, &errorMessage), qPrintable(errorMessage)); - if (!runUpdateMimeDatabase(mimeDir)) { + if (m_isUsingCacheProvider && !runUpdateMimeDatabase(m_localMimeDir)) { const QString skipWarning = QStringLiteral("shared-mime-info not found, skipping mime.cache test (") - + QDir::toNativeSeparators(mimeDir) + QLatin1Char(')'); + + QDir::toNativeSeparators(m_localMimeDir) + QLatin1Char(')'); QSKIP(qPrintable(skipWarning)); } @@ -937,14 +955,14 @@ void tst_QMimeDatabase::installNewLocalMimeType() // Now test removing the local mimetypes again (note, this leaves a mostly-empty mime.cache file) QFile::remove(destFile); QFile::remove(destQmlFile); - if (!waitAndRunUpdateMimeDatabase(mimeDir)) + if (m_isUsingCacheProvider && !waitAndRunUpdateMimeDatabase(m_localMimeDir)) QSKIP("shared-mime-info not found, skipping mime.cache test"); QCOMPARE(db.mimeTypeForFile(QLatin1String("foo.ymu"), QMimeDatabase::MatchExtension).name(), QString::fromLatin1("application/octet-stream")); QVERIFY(!db.mimeTypeForName(QLatin1String("text/x-suse-ymp")).isValid()); // And now the user goes wild and uses rm -rf - QFile::remove(mimeDir + QString::fromLatin1("/mime.cache")); + QFile::remove(m_localMimeDir + QString::fromLatin1("/mime.cache")); QCOMPARE(db.mimeTypeForFile(QLatin1String("foo.ymu"), QMimeDatabase::MatchExtension).name(), QString::fromLatin1("application/octet-stream")); QVERIFY(!db.mimeTypeForName(QLatin1String("text/x-suse-ymp")).isValid()); diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.h b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.h index 26def8f290..2e927aa1bc 100644 --- a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.h +++ b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.h @@ -46,6 +46,8 @@ public: private slots: void initTestCase(); + void init(); + void cleanupTestCase(); void mimeTypeForName(); void mimeTypeForFileName_data(); @@ -86,14 +88,15 @@ private slots: void installNewLocalMimeType(); private: - void init(); // test-specific + void initTestCaseInternal(); // test-specific QString m_globalXdgDir; - QString m_localXdgDir; + QString m_localMimeDir; QString m_yastMimeTypes; QString m_qmlAgainFileName; QTemporaryDir m_temporaryDir; QString m_testSuite; + bool m_isUsingCacheProvider; }; #endif // TST_QMIMEDATABASE_H -- cgit v1.2.3 From e7c17ce78801e547454ed7de947da6330e018fdf Mon Sep 17 00:00:00 2001 From: David Faure Date: Tue, 21 Jul 2015 13:32:09 +0200 Subject: tst_qmimedatabase: check that QFile::remove() worked. It failed on Windows due to readonly files copied from the resource, until adding a setPermission call. Change-Id: I1d42b53763583aca73d011e0f2bbf061ef6aa891 Reviewed-by: Friedemann Kleint --- tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'tests/auto/corelib/mimetypes') diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp index a4028ed70e..e9b1d7d81e 100644 --- a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp +++ b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp @@ -904,8 +904,8 @@ void tst_QMimeDatabase::installNewGlobalMimeType() QString::fromLatin1("text/x-qml")); // Now test removing it again - QFile::remove(destFile); - QFile::remove(destQmlFile); + QVERIFY(QFile::remove(destFile)); + QVERIFY(QFile::remove(destQmlFile)); if (m_isUsingCacheProvider && !waitAndRunUpdateMimeDatabase(mimeDir)) QSKIP("shared-mime-info not found, skipping mime.cache test"); QCOMPARE(db.mimeTypeForFile(QLatin1String("foo.ymu"), QMimeDatabase::MatchExtension).name(), @@ -953,8 +953,8 @@ void tst_QMimeDatabase::installNewLocalMimeType() QString::fromLatin1("text/x-qml")); // Now test removing the local mimetypes again (note, this leaves a mostly-empty mime.cache file) - QFile::remove(destFile); - QFile::remove(destQmlFile); + QVERIFY(QFile::remove(destFile)); + QVERIFY(QFile::remove(destQmlFile)); if (m_isUsingCacheProvider && !waitAndRunUpdateMimeDatabase(m_localMimeDir)) QSKIP("shared-mime-info not found, skipping mime.cache test"); QCOMPARE(db.mimeTypeForFile(QLatin1String("foo.ymu"), QMimeDatabase::MatchExtension).name(), -- cgit v1.2.3 From af3152adee2de79c03c0926400e920122b669c4d Mon Sep 17 00:00:00 2001 From: Milian Wolff Date: Mon, 13 Jul 2015 15:42:35 +0200 Subject: QMimeProvider: Do not crash when globPatterns is empty. Change-Id: I351a533a1f03ac2e7bdec876b657a80fac60b2ed Reviewed-by: Milian Wolff --- tests/auto/corelib/mimetypes/qmimedatabase/testdata.qrc | 1 + .../corelib/mimetypes/qmimedatabase/text-x-objcsrc.xml | 7 +++++++ .../corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp | 14 ++++++++++++++ .../corelib/mimetypes/qmimedatabase/tst_qmimedatabase.h | 1 + 4 files changed, 23 insertions(+) create mode 100644 tests/auto/corelib/mimetypes/qmimedatabase/text-x-objcsrc.xml (limited to 'tests/auto/corelib/mimetypes') diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/testdata.qrc b/tests/auto/corelib/mimetypes/qmimedatabase/testdata.qrc index 48d3204473..4654a61660 100644 --- a/tests/auto/corelib/mimetypes/qmimedatabase/testdata.qrc +++ b/tests/auto/corelib/mimetypes/qmimedatabase/testdata.qrc @@ -2,6 +2,7 @@ yast2-metapackage-handler-mimetypes.xml qml-again.xml + text-x-objcsrc.xml test.qml diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/text-x-objcsrc.xml b/tests/auto/corelib/mimetypes/qmimedatabase/text-x-objcsrc.xml new file mode 100644 index 0000000000..e262dc634d --- /dev/null +++ b/tests/auto/corelib/mimetypes/qmimedatabase/text-x-objcsrc.xml @@ -0,0 +1,7 @@ + + + + Objective-C source code + + + diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp index e9b1d7d81e..a7ec12b758 100644 --- a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp +++ b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp @@ -47,6 +47,7 @@ static const char yastFileName[] ="yast2-metapackage-handler-mimetypes.xml"; static const char qmlAgainFileName[] ="qml-again.xml"; +static const char textXObjCSrcFileName[] ="text-x-objcsrc.xml"; #define RESOURCE_PREFIX ":/qt-project.org/qmime/" void initializeLang() @@ -152,6 +153,8 @@ void tst_QMimeDatabase::initTestCase() QVERIFY2(QFile::exists(m_yastMimeTypes), qPrintable(errorMessage.arg(yastFileName))); m_qmlAgainFileName = QLatin1String(RESOURCE_PREFIX) + qmlAgainFileName; QVERIFY2(QFile::exists(m_qmlAgainFileName), qPrintable(errorMessage.arg(qmlAgainFileName))); + m_textXObjCSrcFileName = QLatin1String(RESOURCE_PREFIX) + textXObjCSrcFileName; + QVERIFY2(QFile::exists(m_textXObjCSrcFileName), qPrintable(errorMessage.arg(textXObjCSrcFileName))); initTestCaseInternal(); m_isUsingCacheProvider = !qEnvironmentVariableIsSet("QT_NO_MIME_CACHE"); @@ -880,6 +883,8 @@ void tst_QMimeDatabase::installNewGlobalMimeType() QFile::remove(destFile); const QString destQmlFile = destDir + QLatin1String(qmlAgainFileName); QFile::remove(destQmlFile); + const QString destTextXObjCSrcFile = destDir + QLatin1String(textXObjCSrcFileName); + QFile::remove(destTextXObjCSrcFile); //qDebug() << destFile; if (!QFileInfo(destDir).isDir()) @@ -887,6 +892,7 @@ void tst_QMimeDatabase::installNewGlobalMimeType() QString errorMessage; QVERIFY2(copyResourceFile(m_yastMimeTypes, destFile, &errorMessage), qPrintable(errorMessage)); QVERIFY2(copyResourceFile(m_qmlAgainFileName, destQmlFile, &errorMessage), qPrintable(errorMessage)); + QVERIFY2(copyResourceFile(m_textXObjCSrcFileName, destTextXObjCSrcFile, &errorMessage), qPrintable(errorMessage)); if (m_isUsingCacheProvider && !waitAndRunUpdateMimeDatabase(mimeDir)) QSKIP("shared-mime-info not found, skipping mime.cache test"); @@ -903,9 +909,17 @@ void tst_QMimeDatabase::installNewGlobalMimeType() QCOMPARE(db.mimeTypeForFile(qmlTestFile).name(), QString::fromLatin1("text/x-qml")); + // ensure we can access the empty glob list + { + QMimeType objcsrc = db.mimeTypeForName(QStringLiteral("text/x-objcsrc")); + QVERIFY(objcsrc.isValid()); + qDebug() << objcsrc.globPatterns(); + } + // Now test removing it again QVERIFY(QFile::remove(destFile)); QVERIFY(QFile::remove(destQmlFile)); + QVERIFY(QFile::remove(destTextXObjCSrcFile)); if (m_isUsingCacheProvider && !waitAndRunUpdateMimeDatabase(mimeDir)) QSKIP("shared-mime-info not found, skipping mime.cache test"); QCOMPARE(db.mimeTypeForFile(QLatin1String("foo.ymu"), QMimeDatabase::MatchExtension).name(), diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.h b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.h index 2e927aa1bc..f12beafe86 100644 --- a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.h +++ b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.h @@ -94,6 +94,7 @@ private: QString m_localMimeDir; QString m_yastMimeTypes; QString m_qmlAgainFileName; + QString m_textXObjCSrcFileName; QTemporaryDir m_temporaryDir; QString m_testSuite; bool m_isUsingCacheProvider; -- cgit v1.2.3 From 4ccf5c6f4a411d367749565323f7c7fd469b025e Mon Sep 17 00:00:00 2001 From: David Faure Date: Thu, 13 Aug 2015 23:51:34 +0200 Subject: QMimeDatabase: adapt to changes in shared-mime-info 1.3 The generated xml file is now lowercase. This was changed in shared-mime-info 3805d0bcf2. It led to runtime warnings "No file found for ...", which helped notice the bug. Change-Id: I31f0fc7f0fe8a098c3f79c0bcbeeb1909d2cc05a Reviewed-by: Thiago Macieira --- tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp | 5 +++-- .../mimetypes/qmimedatabase/yast2-metapackage-handler-mimetypes.xml | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'tests/auto/corelib/mimetypes') diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp index a7ec12b758..8bc90d917e 100644 --- a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp +++ b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp @@ -897,7 +897,7 @@ void tst_QMimeDatabase::installNewGlobalMimeType() QSKIP("shared-mime-info not found, skipping mime.cache test"); QCOMPARE(db.mimeTypeForFile(QLatin1String("foo.ymu"), QMimeDatabase::MatchExtension).name(), - QString::fromLatin1("text/x-suse-ymu")); + QString::fromLatin1("text/x-SuSE-ymu")); QVERIFY(db.mimeTypeForName(QLatin1String("text/x-suse-ymp")).isValid()); checkHasMimeType("text/x-suse-ymp"); @@ -954,8 +954,9 @@ void tst_QMimeDatabase::installNewLocalMimeType() } QCOMPARE(db.mimeTypeForFile(QLatin1String("foo.ymu"), QMimeDatabase::MatchExtension).name(), - QString::fromLatin1("text/x-suse-ymu")); + QString::fromLatin1("text/x-SuSE-ymu")); QVERIFY(db.mimeTypeForName(QLatin1String("text/x-suse-ymp")).isValid()); + QCOMPARE(db.mimeTypeForName(QLatin1String("text/x-SuSE-ymu")).comment(), QString("URL of a YaST Meta Package")); checkHasMimeType("text/x-suse-ymp"); // Test that a double-definition of a mimetype doesn't lead to sniffing ("conflicting globs"). diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/yast2-metapackage-handler-mimetypes.xml b/tests/auto/corelib/mimetypes/qmimedatabase/yast2-metapackage-handler-mimetypes.xml index ef3035ef4a..bb352b7ba2 100644 --- a/tests/auto/corelib/mimetypes/qmimedatabase/yast2-metapackage-handler-mimetypes.xml +++ b/tests/auto/corelib/mimetypes/qmimedatabase/yast2-metapackage-handler-mimetypes.xml @@ -7,7 +7,7 @@ - + URL of a YaST Meta Package -- cgit v1.2.3