wibble 0.1.28
|
00001 /* -*- C++ -*- (c) 2007 Petr Rockai <me@mornfall.net> 00002 (c) 2007 Enrico Zini <enrico@enricozini.org> */ 00003 00004 #include <wibble/commandline/core.h> 00005 00006 #include <wibble/test.h> 00007 00008 using namespace wibble::commandline; 00009 00010 struct TestCommandlineCore { 00011 00012 Test isSwitch() { 00013 assert_eq(ArgList::isSwitch("-a"), true); 00014 assert_eq(ArgList::isSwitch("-afdg"), true); 00015 assert_eq(ArgList::isSwitch("--antani"), true); 00016 assert_eq(ArgList::isSwitch("--antani-blinda"), true); 00017 assert_eq(ArgList::isSwitch("-"), false); 00018 assert_eq(ArgList::isSwitch("--"), false); 00019 assert_eq(ArgList::isSwitch("antani"), false); 00020 assert_eq(ArgList::isSwitch("a-ntani"), false); 00021 assert_eq(ArgList::isSwitch("a--ntani"), false); 00022 } 00023 00024 Test eraseAndAdvance() 00025 { 00026 ArgList list; 00027 list.push_back("1"); 00028 list.push_back("2"); 00029 list.push_back("3"); 00030 00031 ArgList::iterator begin = list.begin(); 00032 assert_eq(list.size(), 3u); 00033 00034 list.eraseAndAdvance(begin); 00035 assert(begin == list.begin()); 00036 assert_eq(list.size(), 2u); 00037 00038 list.eraseAndAdvance(begin); 00039 assert(begin == list.begin()); 00040 assert_eq(list.size(), 1u); 00041 00042 list.eraseAndAdvance(begin); 00043 assert(begin == list.begin()); 00044 assert_eq(list.size(), 0u); 00045 assert(begin == list.end()); 00046 } 00047 00048 }; 00049 00050 // vim:set ts=4 sw=4: