diff options
author | Michael Vogt <michael.vogt@ubuntu.com> | 2010-07-30 19:29:44 +0200 |
---|---|---|
committer | Michael Vogt <michael.vogt@ubuntu.com> | 2010-07-30 19:29:44 +0200 |
commit | a521ca5d3fc6619529843779ea46500fa6e69e14 (patch) | |
tree | d6134e25dad5550e75768f8c9fbaabe75d81e541 /test/libapt/commandlineasstring_test.cc | |
parent | 34904390bd6901f3de90249938baa0b875873534 (diff) | |
parent | 7abfcfbe8518d1b5cc79e967c3ac16c2f783d6ea (diff) |
merged from experimental-apt-for-ubuntu
Diffstat (limited to 'test/libapt/commandlineasstring_test.cc')
-rw-r--r-- | test/libapt/commandlineasstring_test.cc | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/libapt/commandlineasstring_test.cc b/test/libapt/commandlineasstring_test.cc new file mode 100644 index 000000000..a38957d7e --- /dev/null +++ b/test/libapt/commandlineasstring_test.cc @@ -0,0 +1,39 @@ +#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"); + } +} |