//----------------------------------------------------------------------------- int ctkUtilsTest2(int argc, char * argv [] ) { Q_UNUSED(argc); Q_UNUSED(argv); QString invalidNameFilter("Type {*.jpg} "); QString invalidNameFilter2("Type (*.jpg))"); QString invalidNameFilter3("Type ()"); QString simpleNameFilter("*.jpg"); QString standardNameFilter("Images (*.jpg *.png)"); QStringList standardNameFilterExtensions; standardNameFilterExtensions << "*.jpg" << "*.png"; QString simpleStandardNameFilter("Text (*.txt)"); QStringList simpleStandardNameFilterExtensions("*.txt"); QStringList standardNameFilters; standardNameFilters << standardNameFilter << simpleStandardNameFilter; QStringList standardNameFiltersExtensions; standardNameFiltersExtensions << "*.jpg" << "*.png" << "*.txt"; if (ctk::nameFilterToExtensions(invalidNameFilter).count()) { qWarning() << "ctk::nameFilterToExtensions() failed: input " << invalidNameFilter << "output:" << ctk::nameFilterToExtensions(invalidNameFilter); return EXIT_FAILURE; } if (ctk::nameFilterToExtensions(invalidNameFilter2).count()) { qWarning() << "ctk::nameFilterToExtensions() failed: input " << invalidNameFilter2 << "output:" << ctk::nameFilterToExtensions(invalidNameFilter2); return EXIT_FAILURE; } if (ctk::nameFilterToExtensions(invalidNameFilter3).count()) { qWarning() << "ctk::nameFilterToExtensions() failed: input " << invalidNameFilter3 << "output:" << ctk::nameFilterToExtensions(invalidNameFilter3); return EXIT_FAILURE; } if (ctk::nameFilterToExtensions(simpleNameFilter) != QStringList(simpleNameFilter)) { qWarning() << "ctk::nameFilterToExtensions() failed: input " << simpleNameFilter << "output:" << ctk::nameFilterToExtensions(simpleNameFilter); return EXIT_FAILURE; } if (ctk::nameFilterToExtensions(standardNameFilter) != standardNameFilterExtensions) { qWarning() << "ctk::nameFilterToExtensions() failed: input " << standardNameFilter << "output:" << ctk::nameFilterToExtensions(standardNameFilter); return EXIT_FAILURE; } if (ctk::nameFilterToExtensions(simpleStandardNameFilter) != simpleStandardNameFilterExtensions) { qWarning() << "ctk::nameFilterToExtensions() failed: input " << simpleStandardNameFilter << "output:" << ctk::nameFilterToExtensions(simpleStandardNameFilter); return EXIT_FAILURE; } if (ctk::nameFiltersToExtensions(standardNameFilters) != standardNameFiltersExtensions) { qWarning() << "ctk::nameFilterToExtensions() failed: input " << standardNameFilters << "output:" << ctk::nameFiltersToExtensions(standardNameFilters); return EXIT_FAILURE; } //QString extensionToRegExp(const QString& extension); //QRegExp nameFiltersToRegExp(const QStringList& nameFilters); return EXIT_SUCCESS; }
//----------------------------------------------------------------------------- int ctkUtilsTest3(int argc, char * argv [] ) { Q_UNUSED(argc); Q_UNUSED(argv); QString dummy; QStringList dummyList; QRegExp defaultDummyRegExp(".+"); if (!ctk::extensionToRegExp(dummy).isEmpty()) { qWarning() << "Line" << __LINE__ << "ctk::extensionToRegExp() failed: "; return EXIT_FAILURE; } QRegExp dummyRegExp = ctk::nameFiltersToRegExp(dummyList); if(dummyRegExp != defaultDummyRegExp ) { qWarning() << "Line" << __LINE__ << "ctk::nameFiltersToRegExp() failed: "; return EXIT_FAILURE; } //add test if it take all the extension, test with exemples if (!dummyRegExp.exactMatch("c:/foo.jpg")) { qWarning() << "Line" << __LINE__ << "ctk::nameFiltersToRegExp() failed: "; return EXIT_FAILURE; } if (!dummyRegExp.exactMatch("c:/foo.jpga")) { qWarning() << "Line" << __LINE__ << "ctk::nameFiltersToRegExp() failed: "; return EXIT_FAILURE; } if (!dummyRegExp.exactMatch("c:/foo.png")) { qWarning() << "Line" << __LINE__ << "ctk::nameFiltersToRegExp() failed: "; return EXIT_FAILURE; } //-------Test Function extensionToRegExp(const QString& extension) QString simpleExtension("*.jpg"); QString standardSimpleExtension(".*\\.jpg?$"); if (ctk::extensionToRegExp(simpleExtension).isEmpty()) { qWarning() << "Line" << __LINE__ << "ctk::extensionToRegExp() failed: input " << simpleExtension << "output:" << ctk::extensionToRegExp(simpleExtension); return EXIT_FAILURE; } if (ctk::extensionToRegExp(simpleExtension) != standardSimpleExtension) { qWarning() << "Line" << __LINE__<< "ctk::extensionToRegExp() failed: input " << standardSimpleExtension << "output:" << ctk::extensionToRegExp(simpleExtension); return EXIT_FAILURE; } QString standardNameFilter("Images (*.jpg)"); QString simpleStandardNameFilter("Text (*.txt)"); QStringList standardNameFilters; standardNameFilters << standardNameFilter << simpleStandardNameFilter; QString nameFiltersExtensions("(.*\\.jpg?$|.*\\.txt?$)"); QRegExp defaultRegExp(nameFiltersExtensions); if(ctk::nameFiltersToRegExp(standardNameFilters).isEmpty()) { qWarning() << "Line" << __LINE__ << "ctk::nameFiltersToRegExp() failed: input " << nameFiltersExtensions << "output:" << ctk::nameFiltersToRegExp(standardNameFilters).pattern(); return EXIT_FAILURE; } QRegExp regExp = ctk::nameFiltersToRegExp(standardNameFilters); if (regExp != defaultRegExp) { qWarning() << "Line" << __LINE__ << "ctk::nameFiltersToRegExp() failed: input " << nameFiltersExtensions << "output:" << regExp.pattern(); return EXIT_FAILURE; } if (!regExp.exactMatch("c:/foo.jpg")) { qWarning() << "Line" << __LINE__ << "ctk::nameFiltersToRegExp() failed:"; return EXIT_FAILURE; } if (!regExp.exactMatch("c:/foo.txt")) { qWarning() << "Line" << __LINE__ << "ctk::nameFiltersToRegExp() failed:"; return EXIT_FAILURE; } if (regExp.exactMatch("c:/foo.txta")) { qWarning() << "Line" << __LINE__ << "ctk::nameFiltersToRegExp() failed:"; return EXIT_FAILURE; } if (regExp.exactMatch("c:/foo.jpga")) { qWarning() << "Line" << __LINE__ << "ctk::nameFiltersToRegExp() failed:"; return EXIT_FAILURE; } if (regExp.exactMatch("c:/foo.png")) { qWarning() << "Line" << __LINE__ << "ctk::nameFiltersToRegExp() failed:"; return EXIT_FAILURE; } return EXIT_SUCCESS; }