getlistoffilesindir_test.cc 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #include <apt-pkg/fileutl.h>
  2. #include "assert.h"
  3. #include <string>
  4. #include <vector>
  5. #include <stdio.h>
  6. #include <iostream>
  7. // simple helper to quickly output a vector of strings
  8. void dumpVector(std::vector<std::string> vec) {
  9. for (std::vector<std::string>::const_iterator v = vec.begin();
  10. v != vec.end(); v++)
  11. std::cout << *v << std::endl;
  12. }
  13. #define P(x) string(argv[1]).append("/").append(x)
  14. int main(int argc,char *argv[])
  15. {
  16. if (argc != 2) {
  17. std::cout << "One parameter expected - given " << argc << std::endl;
  18. return 100;
  19. }
  20. // Files with no extension
  21. std::vector<std::string> files = GetListOfFilesInDir(argv[1], "", true);
  22. equals(files.size(), 2);
  23. equals(files[0], P("01yet-anothernormalfile"));
  24. equals(files[1], P("anormalfile"));
  25. // Files with no extension - should be the same as above
  26. files = GetListOfFilesInDir(argv[1], "", true, true);
  27. equals(files.size(), 2);
  28. equals(files[0], P("01yet-anothernormalfile"));
  29. equals(files[1], P("anormalfile"));
  30. // Files with impossible extension
  31. files = GetListOfFilesInDir(argv[1], "impossible", true);
  32. equals(files.size(), 0);
  33. // Files with impossible or no extension
  34. files = GetListOfFilesInDir(argv[1], "impossible", true, true);
  35. equals(files.size(), 2);
  36. equals(files[0], P("01yet-anothernormalfile"));
  37. equals(files[1], P("anormalfile"));
  38. // Files with list extension - nothing more
  39. files = GetListOfFilesInDir(argv[1], "list", true);
  40. equals(files.size(), 4);
  41. equals(files[0], P("01yet-anotherapt.list"));
  42. equals(files[1], P("anormalapt.list"));
  43. equals(files[2], P("linkedfile.list"));
  44. equals(files[3], P("multi.dot.list"));
  45. // Files with conf or no extension
  46. files = GetListOfFilesInDir(argv[1], "conf", true, true);
  47. equals(files.size(), 5);
  48. equals(files[0], P("01yet-anotherapt.conf"));
  49. equals(files[1], P("01yet-anothernormalfile"));
  50. equals(files[2], P("anormalapt.conf"));
  51. equals(files[3], P("anormalfile"));
  52. equals(files[4], P("multi.dot.conf"));
  53. // Files with disabled extension - nothing more
  54. files = GetListOfFilesInDir(argv[1], "disabled", true);
  55. equals(files.size(), 3);
  56. equals(files[0], P("disabledfile.conf.disabled"));
  57. equals(files[1], P("disabledfile.disabled"));
  58. equals(files[2], P("disabledfile.list.disabled"));
  59. // Files with disabled or no extension
  60. files = GetListOfFilesInDir(argv[1], "disabled", true, true);
  61. equals(files.size(), 5);
  62. equals(files[0], P("01yet-anothernormalfile"));
  63. equals(files[1], P("anormalfile"));
  64. equals(files[2], P("disabledfile.conf.disabled"));
  65. equals(files[3], P("disabledfile.disabled"));
  66. equals(files[4], P("disabledfile.list.disabled"));
  67. return 0;
  68. }