getlanguages_test.cc 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #include <apt-pkg/aptconfiguration.h>
  2. #include <apt-pkg/configuration.h>
  3. #include "assert.h"
  4. #include <string>
  5. #include <vector>
  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. int main(int argc,char *argv[])
  14. {
  15. std::vector<std::string> vec = APT::Configuration::getLanguages(false, false, "de_DE.UTF-8");
  16. equals(vec.size(), 2);
  17. equals(vec[0], "de");
  18. equals(vec[1], "en");
  19. // Special: Check if the cache is actually in use
  20. vec = APT::Configuration::getLanguages(false, true, "en_GB.UTF-8");
  21. equals(vec.size(), 2);
  22. equals(vec[0], "de");
  23. equals(vec[1], "en");
  24. vec = APT::Configuration::getLanguages(false, false, "en_GB.UTF-8");
  25. equals(vec.size(), 2);
  26. equals(vec[0], "en_GB");
  27. equals(vec[1], "en");
  28. vec = APT::Configuration::getLanguages(false, false, "pt_PR.UTF-8");
  29. equals(vec.size(), 3);
  30. equals(vec[0], "pt_PR");
  31. equals(vec[1], "pt");
  32. equals(vec[2], "en");
  33. vec = APT::Configuration::getLanguages(false, false, "ast_DE.UTF-8"); // bogus, but syntactical correct
  34. equals(vec.size(), 2);
  35. equals(vec[0], "ast");
  36. equals(vec[1], "en");
  37. vec = APT::Configuration::getLanguages(false, false, "C");
  38. equals(vec.size(), 1);
  39. equals(vec[0], "en");
  40. _config->Set("Acquire::Languages::1", "environment");
  41. _config->Set("Acquire::Languages::2", "en");
  42. vec = APT::Configuration::getLanguages(false, false, "de_DE.UTF-8");
  43. equals(vec.size(), 2);
  44. equals(vec[0], "de");
  45. equals(vec[1], "en");
  46. _config->Set("Acquire::Languages::3", "de");
  47. vec = APT::Configuration::getLanguages(false, false, "de_DE.UTF-8");
  48. equals(vec.size(), 2);
  49. equals(vec[0], "de");
  50. equals(vec[1], "en");
  51. _config->Set("Acquire::Languages::1", "none");
  52. vec = APT::Configuration::getLanguages(false, false, "de_DE.UTF-8");
  53. equals(vec.size(), 0);
  54. vec = APT::Configuration::getLanguages(true, false, "de_DE.UTF-8");
  55. equals(vec[0], "en");
  56. equals(vec[1], "de");
  57. _config->Set("Acquire::Languages::1", "fr");
  58. _config->Set("Acquire::Languages", "de_DE");
  59. vec = APT::Configuration::getLanguages(false, false, "de_DE.UTF-8");
  60. equals(vec.size(), 1);
  61. equals(vec[0], "de_DE");
  62. _config->Set("Acquire::Languages", "none");
  63. vec = APT::Configuration::getLanguages(true, false, "de_DE.UTF-8");
  64. equals(vec.size(), 0);
  65. _config->Set("Acquire::Languages", "");
  66. //FIXME: Remove support for this deprecated setting
  67. _config->Set("APT::Acquire::Translation", "ast_DE");
  68. vec = APT::Configuration::getLanguages(true, false, "de_DE.UTF-8");
  69. equals(vec.size(), 1);
  70. equals(vec[0], "ast_DE");
  71. _config->Set("APT::Acquire::Translation", "none");
  72. vec = APT::Configuration::getLanguages(true, false, "de_DE.UTF-8");
  73. equals(vec.size(), 0);
  74. return 0;
  75. }