From 6bae7b0f0f380335ee917f91135203cac3b1059a Mon Sep 17 00:00:00 2001 From: Kimmo Varis Date: Sat, 18 Jun 2011 12:54:48 +0300 Subject: [PATCH] GUITESTS: Add FileList filtering tests. --- gui/test/data/files/dir2/foo1.cpp | 1 + gui/test/filelist/testfilelist.cpp | 89 +++++++++++++++++++++++++++++- gui/test/filelist/testfilelist.h | 5 ++ 3 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 gui/test/data/files/dir2/foo1.cpp diff --git a/gui/test/data/files/dir2/foo1.cpp b/gui/test/data/files/dir2/foo1.cpp new file mode 100644 index 000000000..e4294ad5e --- /dev/null +++ b/gui/test/data/files/dir2/foo1.cpp @@ -0,0 +1 @@ +Dummy test file. diff --git a/gui/test/filelist/testfilelist.cpp b/gui/test/filelist/testfilelist.cpp index dd7c355f8..f50aa2de0 100644 --- a/gui/test/filelist/testfilelist.cpp +++ b/gui/test/filelist/testfilelist.cpp @@ -19,6 +19,7 @@ #include #include #include +#include #include "testfilelist.h" #include "filelist.h" @@ -37,6 +38,23 @@ void TestFileList::addFile() QCOMPARE(files.size(), 7); } +void TestFileList::addPathList() +{ + // Accepted extensions: *.cpp, *.cxx, *.cc, *.c, *.c++, *.txx, *.tpp" + QStringList paths; + paths << QString(SRCDIR) + "/../data/files/foo1.cpp"; + paths << QString(SRCDIR) + "/../data/files/foo2.cxx"; + paths << QString(SRCDIR) + "/../data/files/foo3.cc"; + paths << QString(SRCDIR) + "/../data/files/foo4.c"; + paths << QString(SRCDIR) + "/../data/files/foo5.c++"; + paths << QString(SRCDIR) + "/../data/files/foo6.txx"; + paths << QString(SRCDIR) + "/../data/files/foo7.tpp"; + FileList list; + list.AddPathList(paths); + QStringList files = list.GetFileList(); + QCOMPARE(files.size(), 7); +} + void TestFileList::addFile_notexist() { FileList list; @@ -67,11 +85,80 @@ void TestFileList::addDirectory_recursive() FileList list; list.AddDirectory(QString(SRCDIR) + "/../data/files", true); QStringList files = list.GetFileList(); - QCOMPARE(files.size(), 9); + QCOMPARE(files.size(), 10); QDir dir(QString(SRCDIR) + "/../data/files"); QString base = dir.canonicalPath(); QVERIFY(files.contains(base + "/dir1/foo1.cpp")); QVERIFY(files.contains(base + "/dir1/dir11/foo11.cpp")); + QVERIFY(files.contains(base + "/dir2/foo1.cpp")); +} + +void TestFileList::filterFiles() +{ + FileList list; + QStringList filters; + filters << "foo1.cpp" << "foo3.cc"; + list.AddIngoreList(filters); + list.AddFile(QString(SRCDIR) + "/../data/files/foo1.cpp"); + list.AddFile(QString(SRCDIR) + "/../data/files/foo2.cxx"); + list.AddFile(QString(SRCDIR) + "/../data/files/foo3.cc"); + list.AddFile(QString(SRCDIR) + "/../data/files/foo4.c"); + list.AddFile(QString(SRCDIR) + "/../data/files/foo5.c++"); + list.AddFile(QString(SRCDIR) + "/../data/files/foo6.txx"); + list.AddFile(QString(SRCDIR) + "/../data/files/foo7.tpp"); + QStringList files = list.GetFileList(); + QCOMPARE(files.size(), 5); + QDir dir(QString(SRCDIR) + "/../data/files"); + QString base = dir.canonicalPath(); + QVERIFY(! files.contains(base + "/foo1.cpp")); + QVERIFY(! files.contains(base + "/foo3.cpp")); +} + +void TestFileList::filterFiles2() +{ + FileList list; + QStringList filters; + filters << "foo1.cpp" << "foo3.cc"; + list.AddIngoreList(filters); + list.AddDirectory(QString(SRCDIR) + "/../data/files"); + QStringList files = list.GetFileList(); + QCOMPARE(files.size(), 5); + QDir dir(QString(SRCDIR) + "/../data/files"); + QString base = dir.canonicalPath(); + QVERIFY(! files.contains(base + "/foo1.cpp")); + QVERIFY(! files.contains(base + "/foo3.cpp")); +} + +void TestFileList::filterFiles3() +{ + FileList list; + QStringList filters; + filters << "foo1.cpp" << "foo3.cc"; + list.AddIngoreList(filters); + list.AddDirectory(QString(SRCDIR) + "/../data/files", true); + QStringList files = list.GetFileList(); + QCOMPARE(files.size(), 6); + QDir dir(QString(SRCDIR) + "/../data/files"); + QString base = dir.canonicalPath(); + QVERIFY(! files.contains(base + "/foo1.cpp")); + QVERIFY(! files.contains(base + "/foo3.cpp")); + QVERIFY(! files.contains(base + "/dir1/foo1.cpp")); + QVERIFY(! files.contains(base + "/dir2/foo1.cpp")); +} + +void TestFileList::filterFiles4() +{ + FileList list; + QStringList filters; + filters << "dir1/"; + list.AddIngoreList(filters); + list.AddDirectory(QString(SRCDIR) + "/../data/files", true); + QStringList files = list.GetFileList(); + QCOMPARE(files.size(), 8); + QDir dir(QString(SRCDIR) + "/../data/files"); + QString base = dir.canonicalPath(); + QVERIFY(! files.contains(base + "/dir1/foo1.cpp")); + QVERIFY(! files.contains(base + "/dir1/dir11/foo11.cpp")); } QTEST_MAIN(TestFileList) diff --git a/gui/test/filelist/testfilelist.h b/gui/test/filelist/testfilelist.h index ebe413692..314b701ed 100644 --- a/gui/test/filelist/testfilelist.h +++ b/gui/test/filelist/testfilelist.h @@ -25,8 +25,13 @@ class TestFileList: public QObject private slots: void addFile(); + void addPathList(); void addFile_notexist(); void addFile_unknown(); void addDirectory(); void addDirectory_recursive(); + void filterFiles(); + void filterFiles2(); + void filterFiles3(); + void filterFiles4(); };