1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#include <config.h>
#include <apt-pkg/cmndline.h>
#include <apt-pkg/configuration.h>
#include <string>
#include "assert.h"
class CLT: public CommandLine {
public:
std::string static AsString(const char * const * const argv,
unsigned int const argc) {
std::string const static conf = "Commandline::AsString";
_config->Clear(conf);
SaveInConfig(argc, argv);
return _config->Find(conf);
}
};
#define CMD(y,z) equals(CLT::AsString(argv, y), z);
int main() {
{
const char* const argv[] = {"apt-get", "install", "-sf"};
CMD(3, "apt-get install -sf");
}
{
const char* const argv[] = {"apt-cache", "-s", "apt", "-so", "Debug::test=Test"};
CMD(5, "apt-cache -s apt -so Debug::test=Test");
}
{
const char* const argv[] = {"apt-cache", "-s", "apt", "-so", "Debug::test=Das ist ein Test"};
CMD(5, "apt-cache -s apt -so Debug::test=\"Das ist ein Test\"");
}
{
const char* const argv[] = {"apt-cache", "-s", "apt", "--hallo", "test=1.0"};
CMD(5, "apt-cache -s apt --hallo test=1.0");
}
}
|