summaryrefslogtreecommitdiff
path: root/test/libapt/commandline_test.cc
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2012-06-09 22:55:51 +0200
committerDavid Kalnischkies <kalnischkies@gmail.com>2012-06-09 22:55:51 +0200
commit7a6d9076595b2acc164d6f057f609c96c359ea08 (patch)
treef3fdc21c3e5891cad360220c136d714b1af0b88f /test/libapt/commandline_test.cc
parentae2be086c6996e6ed02b7d828fdcac38248a964d (diff)
fix segfault with empty LongOpt in --no-* branch
Diffstat (limited to 'test/libapt/commandline_test.cc')
-rw-r--r--test/libapt/commandline_test.cc15
1 files changed, 13 insertions, 2 deletions
diff --git a/test/libapt/commandline_test.cc b/test/libapt/commandline_test.cc
index a37fb0220..de8a30bd6 100644
--- a/test/libapt/commandline_test.cc
+++ b/test/libapt/commandline_test.cc
@@ -9,13 +9,24 @@ int main()
{ 'z', "zero", "Test::Zero", 0 },
{0,0,0,0}
};
-
CommandLine CmdL(Args,_config);
+
char const * argv[] = { "test", "--zero", "-t" };
CmdL.Parse(3 , argv);
-
equals(true, _config->FindB("Test::Worked", false));
equals(true, _config->FindB("Test::Zero", false));
+ _config->Clear("Test");
+ equals(false, _config->FindB("Test::Worked", false));
+ equals(false, _config->FindB("Test::Zero", false));
+
+ _config->Set("Test::Zero", true);
+ equals(true, _config->FindB("Test::Zero", false));
+
+ char const * argv2[] = { "test", "--no-zero", "-t" };
+ CmdL.Parse(3 , argv2);
+ equals(true, _config->FindB("Test::Worked", false));
+ equals(false, _config->FindB("Test::Zero", false));
+
return 0;
}