X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/b39c18596d05cea1b3c0f0445b17080e9a2e4c19..99fdd8034b4a5cdb0100a33d0b3d5e26079c1695:/test/libapt/getlistoffilesindir_test.cc?ds=sidebyside diff --git a/test/libapt/getlistoffilesindir_test.cc b/test/libapt/getlistoffilesindir_test.cc index ed8d2dad6..2369c911a 100644 --- a/test/libapt/getlistoffilesindir_test.cc +++ b/test/libapt/getlistoffilesindir_test.cc @@ -1,82 +1,107 @@ +#include + #include -#include "assert.h" #include #include - -#include #include -// simple helper to quickly output a vector of strings -void dumpVector(std::vector vec) { - for (std::vector::const_iterator v = vec.begin(); - v != vec.end(); v++) - std::cout << *v << std::endl; -} +#include + +#include "file-helpers.h" -#define P(x) string(argv[1]).append("/").append(x) +#define P(x) std::string(tempdir).append("/").append(x) -int main(int argc,char *argv[]) +TEST(FileUtlTest,GetListOfFilesInDir) { - if (argc != 2) { - std::cout << "One parameter expected - given " << argc << std::endl; - return 100; - } - - // Files with no extension - std::vector files = GetListOfFilesInDir(argv[1], "", true); - equals(files.size(), 2); - equals(files[0], P("01yet-anothernormalfile")); - equals(files[1], P("anormalfile")); - - // Files with no extension - should be the same as above - files = GetListOfFilesInDir(argv[1], "", true, true); - equals(files.size(), 2); - equals(files[0], P("01yet-anothernormalfile")); - equals(files[1], P("anormalfile")); - - // Files with impossible extension - files = GetListOfFilesInDir(argv[1], "impossible", true); - equals(files.size(), 0); - - // Files with impossible or no extension - files = GetListOfFilesInDir(argv[1], "impossible", true, true); - equals(files.size(), 2); - equals(files[0], P("01yet-anothernormalfile")); - equals(files[1], P("anormalfile")); - - // Files with list extension - nothing more - files = GetListOfFilesInDir(argv[1], "list", true); - equals(files.size(), 4); - equals(files[0], P("01yet-anotherapt.list")); - equals(files[1], P("anormalapt.list")); - equals(files[2], P("linkedfile.list")); - equals(files[3], P("multi.dot.list")); - - // Files with conf or no extension - files = GetListOfFilesInDir(argv[1], "conf", true, true); - equals(files.size(), 5); - equals(files[0], P("01yet-anotherapt.conf")); - equals(files[1], P("01yet-anothernormalfile")); - equals(files[2], P("anormalapt.conf")); - equals(files[3], P("anormalfile")); - equals(files[4], P("multi.dot.conf")); - - // Files with disabled extension - nothing more - files = GetListOfFilesInDir(argv[1], "disabled", true); - equals(files.size(), 3); - equals(files[0], P("disabledfile.conf.disabled")); - equals(files[1], P("disabledfile.disabled")); - equals(files[2], P("disabledfile.list.disabled")); - - // Files with disabled or no extension - files = GetListOfFilesInDir(argv[1], "disabled", true, true); - equals(files.size(), 5); - equals(files[0], P("01yet-anothernormalfile")); - equals(files[1], P("anormalfile")); - equals(files[2], P("disabledfile.conf.disabled")); - equals(files[3], P("disabledfile.disabled")); - equals(files[4], P("disabledfile.list.disabled")); - - return 0; + std::string tempdir; + createTemporaryDirectory("getlistoffiles", tempdir); + + createFile(tempdir, "anormalfile"); + createFile(tempdir, "01yet-anothernormalfile"); + createFile(tempdir, "anormalapt.conf"); + createFile(tempdir, "01yet-anotherapt.conf"); + createFile(tempdir, "anormalapt.list"); + createFile(tempdir, "01yet-anotherapt.list"); + createFile(tempdir, "wrongextension.wron"); + createFile(tempdir, "wrong-extension.wron"); + createFile(tempdir, "strangefile."); + createFile(tempdir, "s.t.r.a.n.g.e.f.i.l.e"); + createFile(tempdir, ".hiddenfile"); + createFile(tempdir, ".hiddenfile.conf"); + createFile(tempdir, ".hiddenfile.list"); + createFile(tempdir, "multi..dot"); + createFile(tempdir, "multi.dot.conf"); + createFile(tempdir, "multi.dot.list"); + createFile(tempdir, "disabledfile.disabled"); + createFile(tempdir, "disabledfile.conf.disabled"); + createFile(tempdir, "disabledfile.list.disabled"); + createFile(tempdir, "invälid.conf"); + createFile(tempdir, "invalíd"); + createFile(tempdir, "01invalíd"); + createDirectory(tempdir, "invaliddir"); + createDirectory(tempdir, "directory.conf"); + createDirectory(tempdir, "directory.list"); + createDirectory(tempdir, "directory.wron"); + createDirectory(tempdir, "directory.list.disabled"); + createLink(tempdir, "anormalfile", "linkedfile.list"); + createLink(tempdir, "invaliddir", "linkeddir.list"); + createLink(tempdir, "non-existing-file", "brokenlink.list"); + + // Files with no extension + std::vector files = GetListOfFilesInDir(tempdir, "", true); + ASSERT_EQ(2, files.size()); + EXPECT_EQ(P("01yet-anothernormalfile"), files[0]); + EXPECT_EQ(P("anormalfile"), files[1]); + + // Files with no extension - should be the same as above + files = GetListOfFilesInDir(tempdir, "", true, true); + ASSERT_EQ(2, files.size()); + EXPECT_EQ(P("01yet-anothernormalfile"), files[0]); + EXPECT_EQ(P("anormalfile"), files[1]); + + // Files with impossible extension + files = GetListOfFilesInDir(tempdir, "impossible", true); + EXPECT_TRUE(files.empty()); + + // Files with impossible or no extension + files = GetListOfFilesInDir(tempdir, "impossible", true, true); + ASSERT_EQ(2, files.size()); + EXPECT_EQ(P("01yet-anothernormalfile"), files[0]); + EXPECT_EQ(P("anormalfile"), files[1]); + + // Files with list extension - nothing more + files = GetListOfFilesInDir(tempdir, "list", true); + ASSERT_EQ(4, files.size()); + EXPECT_EQ(P("01yet-anotherapt.list"), files[0]); + EXPECT_EQ(P("anormalapt.list"), files[1]); + EXPECT_EQ(P("linkedfile.list"), files[2]); + EXPECT_EQ(P("multi.dot.list"), files[3]); + + // Files with conf or no extension + files = GetListOfFilesInDir(tempdir, "conf", true, true); + ASSERT_EQ(5, files.size()); + EXPECT_EQ(P("01yet-anotherapt.conf"), files[0]); + EXPECT_EQ(P("01yet-anothernormalfile"), files[1]); + EXPECT_EQ(P("anormalapt.conf"), files[2]); + EXPECT_EQ(P("anormalfile"), files[3]); + EXPECT_EQ(P("multi.dot.conf"), files[4]); + + // Files with disabled extension - nothing more + files = GetListOfFilesInDir(tempdir, "disabled", true); + ASSERT_EQ(3, files.size()); + EXPECT_EQ(P("disabledfile.conf.disabled"), files[0]); + EXPECT_EQ(P("disabledfile.disabled"), files[1]); + EXPECT_EQ(P("disabledfile.list.disabled"), files[2]); + + // Files with disabled or no extension + files = GetListOfFilesInDir(tempdir, "disabled", true, true); + ASSERT_EQ(5, files.size()); + EXPECT_EQ(P("01yet-anothernormalfile"), files[0]); + EXPECT_EQ(P("anormalfile"), files[1]); + EXPECT_EQ(P("disabledfile.conf.disabled"), files[2]); + EXPECT_EQ(P("disabledfile.disabled"), files[3]); + EXPECT_EQ(P("disabledfile.list.disabled"), files[4]); + + removeDirectory(tempdir); }