Exemplo n.º 1
0
//-----------------------------------------------------------------------------
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;
}
Exemplo n.º 2
0
//-----------------------------------------------------------------------------
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;
}