void KMimeTypeTest::testAllMimeTypes() { const KMimeType::List lst = KMimeType::allMimeTypes(); // does NOT include aliases QVERIFY(!lst.isEmpty()); for (KMimeType::List::ConstIterator it = lst.begin(); it != lst.end(); ++it) { const KMimeType::Ptr mime = (*it); const QString name = mime->name(); //qDebug( "%s", qPrintable( name ) ); QVERIFY(!name.isEmpty()); QCOMPARE(name.count('/'), 1); const KMimeType::Ptr lookedupMime = KMimeType::mimeType(name); QVERIFY(lookedupMime); // not null if (name != "application/vnd.ms-word" && name != "application/x-pkcs7-certificates" && name != "application/x-x509-ca-cert" && name != "application/x-vnd.kde.kexi" // due to /usr/share/mime/packages/kde.xml from KDE4 && name != "application/x-kexiproject-sqlite" // due to /usr/share/mime/packages/kde.xml from KDE4 && name != "application/vnd.sun.xml.base" // libreoffice.xml messing things up yet again ) { QCOMPARE(lookedupMime->name(), name); // if this fails, you have an alias defined as a real mimetype too! // // Note: this also happens with x-win-lnk when your kde.xml defines it as an alias, while // /usr/share/mime/packages/kde.xml defines it as a real mimetype. This is a false positive, // remove one of the kde.xml files. // // It also happens with application/x-pkcs7-certificates due to // /usr/share/mime/packages/gcr-crypto-types.xml. Remove that file and run // `update-mime-database /usr/share/mime`. } } }
void KMimeTypeTest::testAllMimeTypes() { const KMimeType::List lst = KMimeType::allMimeTypes(); // does NOT include aliases QVERIFY( !lst.isEmpty() ); for ( KMimeType::List::ConstIterator it = lst.begin(); it != lst.end(); ++it ) { const KMimeType::Ptr mime = (*it); const QString name = mime->name(); //qDebug( "%s", qPrintable( name ) ); QVERIFY( !name.isEmpty() ); QCOMPARE( name.count( '/' ), 1 ); QVERIFY( mime->isType( KST_KMimeType ) ); const KMimeType::Ptr lookedupMime = KMimeType::mimeType( name ); QVERIFY( lookedupMime ); // not null QCOMPARE( lookedupMime->name(), name ); // if this fails, you have an alias defined as a real mimetype too! } }