1
#include <apt-pkg/aptconfiguration.h>
2
#include <apt-pkg/configuration.h>
10
// simple helper to quickly output a vector of strings
11
void dumpVector(std::vector<std::string> vec) {
12
for (std::vector<std::string>::const_iterator v = vec.begin();
14
std::cout << *v << std::endl;
17
int main(int argc,char *argv[])
20
std::cout << "One parameter expected - given " << argc << std::endl;
25
env[0] = "de_DE.UTF-8";
28
std::vector<std::string> vec = APT::Configuration::getLanguages(false, false, env);
29
equals(vec.size(), 2);
33
// Special: Check if the cache is actually in use
34
env[0] = "en_GB.UTF-8";
35
vec = APT::Configuration::getLanguages(false, true, env);
36
equals(vec.size(), 2);
40
env[0] = "en_GB.UTF-8";
41
vec = APT::Configuration::getLanguages(false, false, env);
42
equals(vec.size(), 2);
43
equals(vec[0], "en_GB");
46
env[0] = "tr_DE@euro";
47
vec = APT::Configuration::getLanguages(false, false, env);
48
equals(vec.size(), 2);
53
env[1] = "se_NO:en_GB:nb_NO:nb:no_NO:no:nn_NO:nn:da:sv:en";
54
vec = APT::Configuration::getLanguages(false, false, env);
55
equals(vec.size(), 5);
57
equals(vec[1], "en_GB");
62
env[0] = "pt_PR.UTF-8";
64
vec = APT::Configuration::getLanguages(false, false, env);
65
equals(vec.size(), 3);
66
equals(vec[0], "pt_PR");
70
env[0] = "ast_DE.UTF-8";
71
vec = APT::Configuration::getLanguages(false, false, env); // bogus, but syntactical correct
72
equals(vec.size(), 2);
73
equals(vec[0], "ast");
77
vec = APT::Configuration::getLanguages(false, false, env);
78
equals(vec.size(), 1);
81
_config->Set("Acquire::Languages::1", "environment");
82
_config->Set("Acquire::Languages::2", "en");
83
env[0] = "de_DE.UTF-8";
84
vec = APT::Configuration::getLanguages(false, false, env);
85
equals(vec.size(), 2);
89
_config->Set("Acquire::Languages::3", "de");
90
env[0] = "de_DE.UTF-8";
91
vec = APT::Configuration::getLanguages(false, false, env);
92
equals(vec.size(), 2);
96
_config->Set("Dir::State::lists", argv[1]);
97
vec = APT::Configuration::getLanguages(true, false, env);
98
equals(vec.size(), 5);
100
equals(vec[1], "en");
101
equals(vec[2], "none");
102
equals(vec[3], "pt");
103
equals(vec[4], "tr");
105
_config->Set("Dir::State::lists", "/non-existing-dir");
106
_config->Set("Acquire::Languages::1", "none");
107
env[0] = "de_DE.UTF-8";
108
vec = APT::Configuration::getLanguages(false, false, env);
109
equals(vec.size(), 0);
110
env[0] = "de_DE.UTF-8";
111
vec = APT::Configuration::getLanguages(true, false, env);
112
equals(vec[0], "en");
113
equals(vec[1], "de");
115
_config->Set("Acquire::Languages::1", "fr");
116
_config->Set("Acquire::Languages", "de_DE");
117
env[0] = "de_DE.UTF-8";
118
vec = APT::Configuration::getLanguages(false, false, env);
119
equals(vec.size(), 1);
120
equals(vec[0], "de_DE");
122
_config->Set("Acquire::Languages", "none");
123
env[0] = "de_DE.UTF-8";
124
vec = APT::Configuration::getLanguages(true, false, env);
125
equals(vec.size(), 0);
127
_config->Set("Acquire::Languages", "");
128
//FIXME: Remove support for this deprecated setting
129
_config->Set("APT::Acquire::Translation", "ast_DE");
130
env[0] = "de_DE.UTF-8";
131
vec = APT::Configuration::getLanguages(true, false, env);
132
equals(vec.size(), 2);
133
equals(vec[0], "ast_DE");
134
equals(vec[1], "en");
135
_config->Set("APT::Acquire::Translation", "none");
136
env[0] = "de_DE.UTF-8";
137
vec = APT::Configuration::getLanguages(true, false, env);
138
equals(vec.size(), 1);
139
equals(vec[0], "en");