mirror of https://github.com/aria2/aria2
2009-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Sort _optionHandlers in OptionParser by name in ascending order. Use vector instead of deque for efficiency. * src/OptionHandler.h * src/OptionHandlerFactory.h * src/OptionParser.cc * src/OptionParser.h * src/version_usage.cc * test/OptionParserTest.ccpull/1/head
parent
6c6e7f2c51
commit
e77e1ec24d
11
ChangeLog
11
ChangeLog
|
@ -1,3 +1,14 @@
|
||||||
|
2009-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||||
|
|
||||||
|
Sort _optionHandlers in OptionParser by name in ascending order.
|
||||||
|
Use vector instead of deque for efficiency.
|
||||||
|
* src/OptionHandler.h
|
||||||
|
* src/OptionHandlerFactory.h
|
||||||
|
* src/OptionParser.cc
|
||||||
|
* src/OptionParser.h
|
||||||
|
* src/version_usage.cc
|
||||||
|
* test/OptionParserTest.cc
|
||||||
|
|
||||||
2009-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
2009-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||||
|
|
||||||
Code cleanup
|
Code cleanup
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <deque>
|
#include <vector>
|
||||||
#include <iosfwd>
|
#include <iosfwd>
|
||||||
|
|
||||||
#include "SharedHandle.h"
|
#include "SharedHandle.h"
|
||||||
|
@ -87,8 +87,30 @@ public:
|
||||||
virtual void setOptionID(int id) = 0;
|
virtual void setOptionID(int id) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class OptionHandlerNameLesser:public std::binary_function
|
||||||
|
<SharedHandle<OptionHandler>, SharedHandle<OptionHandler>, bool> {
|
||||||
|
public:
|
||||||
|
bool operator()
|
||||||
|
(const SharedHandle<OptionHandler>& lhs,
|
||||||
|
const SharedHandle<OptionHandler>& rhs) const
|
||||||
|
{
|
||||||
|
return lhs->getName() < rhs->getName();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class OptionHandlerIDLesser:public std::binary_function
|
||||||
|
<SharedHandle<OptionHandler>, SharedHandle<OptionHandler>, bool> {
|
||||||
|
public:
|
||||||
|
bool operator()
|
||||||
|
(const SharedHandle<OptionHandler>& lhs,
|
||||||
|
const SharedHandle<OptionHandler>& rhs) const
|
||||||
|
{
|
||||||
|
return lhs->getOptionID() < rhs->getOptionID();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
typedef SharedHandle<OptionHandler> OptionHandlerHandle;
|
typedef SharedHandle<OptionHandler> OptionHandlerHandle;
|
||||||
typedef std::deque<OptionHandlerHandle> OptionHandlers;
|
typedef std::vector<OptionHandlerHandle> OptionHandlers;
|
||||||
|
|
||||||
std::ostream& operator<<(std::ostream& o, const OptionHandler& optionHandler);
|
std::ostream& operator<<(std::ostream& o, const OptionHandler& optionHandler);
|
||||||
|
|
||||||
|
|
|
@ -36,8 +36,10 @@
|
||||||
#define _D_OPTION_HANDLER_FACTORY_H_
|
#define _D_OPTION_HANDLER_FACTORY_H_
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
#include "SharedHandle.h"
|
#include "SharedHandle.h"
|
||||||
#include <deque>
|
|
||||||
|
|
||||||
namespace aria2 {
|
namespace aria2 {
|
||||||
|
|
||||||
|
@ -45,7 +47,7 @@ class OptionHandler;
|
||||||
|
|
||||||
class OptionHandlerFactory {
|
class OptionHandlerFactory {
|
||||||
public:
|
public:
|
||||||
static std::deque<SharedHandle<OptionHandler> > createOptionHandlers();
|
static std::vector<SharedHandle<OptionHandler> > createOptionHandlers();
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace aria2
|
} // namespace aria2
|
||||||
|
|
|
@ -172,36 +172,58 @@ void OptionParser::parse(Option& option, std::istream& is)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
OptionHandlerHandle OptionParser::getOptionHandlerByName(const std::string& optName)
|
class DummyOptionHandler:public NameMatchOptionHandler {
|
||||||
{
|
protected:
|
||||||
for(OptionHandlers::iterator itr = _optionHandlers.begin();
|
virtual void parseArg(Option& option, const std::string& arg) {}
|
||||||
itr != _optionHandlers.end(); ++itr) {
|
public:
|
||||||
if((*itr)->canHandle(optName)) {
|
DummyOptionHandler(const std::string& name):NameMatchOptionHandler(name) {}
|
||||||
return *itr;
|
|
||||||
}
|
virtual std::string createPossibleValuesString() const
|
||||||
|
{
|
||||||
|
return A2STR::NIL;
|
||||||
}
|
}
|
||||||
return SharedHandle<OptionHandler>(new NullOptionHandler());
|
};
|
||||||
|
|
||||||
|
OptionHandlerHandle OptionParser::getOptionHandlerByName
|
||||||
|
(const std::string& optName)
|
||||||
|
{
|
||||||
|
SharedHandle<OptionHandler> handler(new DummyOptionHandler(optName));
|
||||||
|
std::vector<SharedHandle<OptionHandler> >::const_iterator i =
|
||||||
|
std::lower_bound(_optionHandlers.begin(), _optionHandlers.end(),
|
||||||
|
handler, OptionHandlerNameLesser());
|
||||||
|
if(i == _optionHandlers.end()) {
|
||||||
|
handler.reset(new NullOptionHandler());
|
||||||
|
} else {
|
||||||
|
handler = *i;
|
||||||
|
}
|
||||||
|
return handler;
|
||||||
}
|
}
|
||||||
|
|
||||||
void OptionParser::setOptionHandlers(const std::deque<SharedHandle<OptionHandler> >& optionHandlers)
|
void OptionParser::setOptionHandlers
|
||||||
|
(const std::vector<SharedHandle<OptionHandler> >& optionHandlers)
|
||||||
{
|
{
|
||||||
_optionHandlers = optionHandlers;
|
_optionHandlers = optionHandlers;
|
||||||
for(std::deque<SharedHandle<OptionHandler> >::iterator i =
|
for(std::vector<SharedHandle<OptionHandler> >::iterator i =
|
||||||
_optionHandlers.begin(); i != _optionHandlers.end(); ++i) {
|
_optionHandlers.begin(); i != _optionHandlers.end(); ++i) {
|
||||||
(*i)->setOptionID(++_idCounter);
|
(*i)->setOptionID(++_idCounter);
|
||||||
}
|
}
|
||||||
|
std::sort(_optionHandlers.begin(), _optionHandlers.end(),
|
||||||
|
OptionHandlerNameLesser());
|
||||||
}
|
}
|
||||||
|
|
||||||
void OptionParser::addOptionHandler
|
void OptionParser::addOptionHandler
|
||||||
(const SharedHandle<OptionHandler>& optionHandler)
|
(const SharedHandle<OptionHandler>& optionHandler)
|
||||||
{
|
{
|
||||||
optionHandler->setOptionID(++_idCounter);
|
optionHandler->setOptionID(++_idCounter);
|
||||||
_optionHandlers.push_back(optionHandler);
|
std::vector<SharedHandle<OptionHandler> >::iterator i =
|
||||||
|
std::lower_bound(_optionHandlers.begin(), _optionHandlers.end(),
|
||||||
|
optionHandler, OptionHandlerNameLesser());
|
||||||
|
_optionHandlers.insert(i, optionHandler);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OptionParser::parseDefaultValues(Option& option) const
|
void OptionParser::parseDefaultValues(Option& option) const
|
||||||
{
|
{
|
||||||
for(std::deque<SharedHandle<OptionHandler> >::const_iterator i =
|
for(std::vector<SharedHandle<OptionHandler> >::const_iterator i =
|
||||||
_optionHandlers.begin(); i != _optionHandlers.end(); ++i) {
|
_optionHandlers.begin(); i != _optionHandlers.end(); ++i) {
|
||||||
if(!(*i)->getDefaultValue().empty()) {
|
if(!(*i)->getDefaultValue().empty()) {
|
||||||
(*i)->parse(option, (*i)->getDefaultValue());
|
(*i)->parse(option, (*i)->getDefaultValue());
|
||||||
|
@ -209,12 +231,12 @@ void OptionParser::parseDefaultValues(Option& option) const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class FindByTag :
|
class FindOptionHandlerByTag :
|
||||||
public std::unary_function<SharedHandle<OptionHandler>, bool> {
|
public std::unary_function<SharedHandle<OptionHandler>, bool> {
|
||||||
private:
|
private:
|
||||||
std::string _tag;
|
std::string _tag;
|
||||||
public:
|
public:
|
||||||
FindByTag(const std::string& tag):_tag(tag) {}
|
FindOptionHandlerByTag(const std::string& tag):_tag(tag) {}
|
||||||
|
|
||||||
bool operator()(const SharedHandle<OptionHandler>& optionHandler) const
|
bool operator()(const SharedHandle<OptionHandler>& optionHandler) const
|
||||||
{
|
{
|
||||||
|
@ -222,22 +244,24 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
std::deque<SharedHandle<OptionHandler> >
|
std::vector<SharedHandle<OptionHandler> >
|
||||||
OptionParser::findByTag(const std::string& tag) const
|
OptionParser::findByTag(const std::string& tag) const
|
||||||
{
|
{
|
||||||
std::deque<SharedHandle<OptionHandler> > result;
|
std::vector<SharedHandle<OptionHandler> > result;
|
||||||
std::remove_copy_if(_optionHandlers.begin(), _optionHandlers.end(),
|
std::remove_copy_if(_optionHandlers.begin(), _optionHandlers.end(),
|
||||||
std::back_inserter(result),
|
std::back_inserter(result),
|
||||||
std::not1(FindByTag(tag)));
|
std::not1(FindOptionHandlerByTag(tag)));
|
||||||
|
std::sort(result.begin(), result.end(), OptionHandlerIDLesser());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
class FindByNameSubstring :
|
class FindOptionHandlerByNameSubstring :
|
||||||
public std::unary_function<SharedHandle<OptionHandler> , bool> {
|
public std::unary_function<SharedHandle<OptionHandler> , bool> {
|
||||||
private:
|
private:
|
||||||
std::string _substring;
|
std::string _substring;
|
||||||
public:
|
public:
|
||||||
FindByNameSubstring(const std::string& substring):_substring(substring) {}
|
FindOptionHandlerByNameSubstring
|
||||||
|
(const std::string& substring):_substring(substring) {}
|
||||||
|
|
||||||
bool operator()(const SharedHandle<OptionHandler>& optionHandler) const
|
bool operator()(const SharedHandle<OptionHandler>& optionHandler) const
|
||||||
{
|
{
|
||||||
|
@ -246,22 +270,24 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
std::deque<SharedHandle<OptionHandler> >
|
std::vector<SharedHandle<OptionHandler> >
|
||||||
OptionParser::findByNameSubstring(const std::string& substring) const
|
OptionParser::findByNameSubstring(const std::string& substring) const
|
||||||
{
|
{
|
||||||
std::deque<SharedHandle<OptionHandler> > result;
|
std::vector<SharedHandle<OptionHandler> > result;
|
||||||
std::remove_copy_if(_optionHandlers.begin(), _optionHandlers.end(),
|
std::remove_copy_if(_optionHandlers.begin(), _optionHandlers.end(),
|
||||||
std::back_inserter(result),
|
std::back_inserter(result),
|
||||||
std::not1(FindByNameSubstring(substring)));
|
std::not1(FindOptionHandlerByNameSubstring(substring)));
|
||||||
|
std::sort(result.begin(), result.end(), OptionHandlerIDLesser());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::deque<SharedHandle<OptionHandler> > OptionParser::findAll() const
|
std::vector<SharedHandle<OptionHandler> > OptionParser::findAll() const
|
||||||
{
|
{
|
||||||
std::deque<SharedHandle<OptionHandler> > result;
|
std::vector<SharedHandle<OptionHandler> > result;
|
||||||
std::remove_copy_if(_optionHandlers.begin(), _optionHandlers.end(),
|
std::remove_copy_if(_optionHandlers.begin(), _optionHandlers.end(),
|
||||||
std::back_inserter(result),
|
std::back_inserter(result),
|
||||||
mem_fun_sh(&OptionHandler::isHidden));
|
mem_fun_sh(&OptionHandler::isHidden));
|
||||||
|
std::sort(result.begin(), result.end(), OptionHandlerIDLesser());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -269,39 +295,35 @@ template<typename InputIterator, typename Predicate>
|
||||||
static SharedHandle<OptionHandler> findOptionHandler
|
static SharedHandle<OptionHandler> findOptionHandler
|
||||||
(InputIterator first, InputIterator last, Predicate pred)
|
(InputIterator first, InputIterator last, Predicate pred)
|
||||||
{
|
{
|
||||||
|
SharedHandle<OptionHandler> handler;
|
||||||
InputIterator i = std::find_if(first, last, pred);
|
InputIterator i = std::find_if(first, last, pred);
|
||||||
if(i == last) {
|
if(i != last) {
|
||||||
return SharedHandle<OptionHandler>();
|
handler = *i;
|
||||||
} else {
|
|
||||||
return *i;
|
|
||||||
}
|
}
|
||||||
|
return handler;
|
||||||
}
|
}
|
||||||
|
|
||||||
class FindByName :
|
|
||||||
public std::unary_function<SharedHandle<OptionHandler> , bool> {
|
|
||||||
private:
|
|
||||||
std::string _name;
|
|
||||||
public:
|
|
||||||
FindByName(const std::string& name):_name(name) {}
|
|
||||||
|
|
||||||
bool operator()(const SharedHandle<OptionHandler>& optionHandler) const
|
|
||||||
{
|
|
||||||
return !optionHandler->isHidden() && optionHandler->getName() == _name;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
SharedHandle<OptionHandler>
|
SharedHandle<OptionHandler>
|
||||||
OptionParser::findByName(const std::string& name) const
|
OptionParser::findByName(const std::string& name) const
|
||||||
{
|
{
|
||||||
return findOptionHandler(_optionHandlers.begin(), _optionHandlers.end(),
|
SharedHandle<OptionHandler> handler(new DummyOptionHandler(name));
|
||||||
FindByName(name));
|
std::vector<SharedHandle<OptionHandler> >::const_iterator i =
|
||||||
|
std::lower_bound(_optionHandlers.begin(), _optionHandlers.end(),
|
||||||
|
handler, OptionHandlerNameLesser());
|
||||||
|
if(i == _optionHandlers.end() || (*i)->isHidden()) {
|
||||||
|
handler.reset();
|
||||||
|
} else {
|
||||||
|
handler = *i;
|
||||||
|
}
|
||||||
|
return handler;
|
||||||
}
|
}
|
||||||
|
|
||||||
class FindByID:public std::unary_function<SharedHandle<OptionHandler>, bool> {
|
class FindOptionHandlerByID:public std::unary_function
|
||||||
|
<SharedHandle<OptionHandler>, bool> {
|
||||||
private:
|
private:
|
||||||
int _id;
|
int _id;
|
||||||
public:
|
public:
|
||||||
FindByID(int id):_id(id) {}
|
FindOptionHandlerByID(int id):_id(id) {}
|
||||||
|
|
||||||
bool operator()(const SharedHandle<OptionHandler>& optionHandler) const
|
bool operator()(const SharedHandle<OptionHandler>& optionHandler) const
|
||||||
{
|
{
|
||||||
|
@ -312,15 +334,15 @@ public:
|
||||||
SharedHandle<OptionHandler> OptionParser::findByID(int id) const
|
SharedHandle<OptionHandler> OptionParser::findByID(int id) const
|
||||||
{
|
{
|
||||||
return findOptionHandler(_optionHandlers.begin(), _optionHandlers.end(),
|
return findOptionHandler(_optionHandlers.begin(), _optionHandlers.end(),
|
||||||
FindByID(id));
|
FindOptionHandlerByID(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
class FindByShortName:
|
class FindOptionHandlerByShortName:
|
||||||
public std::unary_function<SharedHandle<OptionHandler>, bool> {
|
public std::unary_function<SharedHandle<OptionHandler>, bool> {
|
||||||
private:
|
private:
|
||||||
char _shortName;
|
char _shortName;
|
||||||
public:
|
public:
|
||||||
FindByShortName(char shortName):_shortName(shortName) {}
|
FindOptionHandlerByShortName(char shortName):_shortName(shortName) {}
|
||||||
|
|
||||||
bool operator()(const SharedHandle<OptionHandler>& optionHandler) const
|
bool operator()(const SharedHandle<OptionHandler>& optionHandler) const
|
||||||
{
|
{
|
||||||
|
@ -332,16 +354,10 @@ public:
|
||||||
SharedHandle<OptionHandler> OptionParser::findByShortName(char shortName) const
|
SharedHandle<OptionHandler> OptionParser::findByShortName(char shortName) const
|
||||||
{
|
{
|
||||||
return findOptionHandler(_optionHandlers.begin(), _optionHandlers.end(),
|
return findOptionHandler(_optionHandlers.begin(), _optionHandlers.end(),
|
||||||
FindByShortName(shortName));
|
FindOptionHandlerByShortName(shortName));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const std::deque<SharedHandle<OptionHandler> >&
|
|
||||||
OptionParser::getOptionHandlers() const
|
|
||||||
{
|
|
||||||
return _optionHandlers;
|
|
||||||
}
|
|
||||||
|
|
||||||
SharedHandle<OptionParser> OptionParser::_optionParser;
|
SharedHandle<OptionParser> OptionParser::_optionParser;
|
||||||
|
|
||||||
SharedHandle<OptionParser> OptionParser::getInstance()
|
SharedHandle<OptionParser> OptionParser::getInstance()
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <deque>
|
#include <deque>
|
||||||
|
#include <vector>
|
||||||
#include <iosfwd>
|
#include <iosfwd>
|
||||||
|
|
||||||
#include "SharedHandle.h"
|
#include "SharedHandle.h"
|
||||||
|
@ -52,7 +53,9 @@ class OptionParser {
|
||||||
private:
|
private:
|
||||||
int _idCounter;
|
int _idCounter;
|
||||||
|
|
||||||
std::deque<SharedHandle<OptionHandler> > _optionHandlers;
|
// _optionHandlers is sorted by OptionHandler::getName() in
|
||||||
|
// ascending order.
|
||||||
|
std::vector<SharedHandle<OptionHandler> > _optionHandlers;
|
||||||
|
|
||||||
SharedHandle<OptionHandler>
|
SharedHandle<OptionHandler>
|
||||||
getOptionHandlerByName(const std::string& optName);
|
getOptionHandlerByName(const std::string& optName);
|
||||||
|
@ -74,27 +77,31 @@ public:
|
||||||
void parseDefaultValues(Option& option) const;
|
void parseDefaultValues(Option& option) const;
|
||||||
|
|
||||||
void setOptionHandlers
|
void setOptionHandlers
|
||||||
(const std::deque<SharedHandle<OptionHandler> >& optionHandlers);
|
(const std::vector<SharedHandle<OptionHandler> >& optionHandlers);
|
||||||
|
|
||||||
void addOptionHandler(const SharedHandle<OptionHandler>& optionHandler);
|
void addOptionHandler(const SharedHandle<OptionHandler>& optionHandler);
|
||||||
|
|
||||||
std::deque<SharedHandle<OptionHandler> >
|
// Hidden options are not returned.
|
||||||
|
std::vector<SharedHandle<OptionHandler> >
|
||||||
findByTag(const std::string& tag) const;
|
findByTag(const std::string& tag) const;
|
||||||
|
|
||||||
std::deque<SharedHandle<OptionHandler> >
|
// Hidden options are not returned.
|
||||||
|
std::vector<SharedHandle<OptionHandler> >
|
||||||
findByNameSubstring(const std::string& substring) const;
|
findByNameSubstring(const std::string& substring) const;
|
||||||
|
|
||||||
std::deque<SharedHandle<OptionHandler> > findAll() const;
|
// Hidden options are not returned.
|
||||||
|
std::vector<SharedHandle<OptionHandler> > findAll() const;
|
||||||
|
|
||||||
|
// Hidden options are not returned.
|
||||||
SharedHandle<OptionHandler>
|
SharedHandle<OptionHandler>
|
||||||
findByName(const std::string& name) const;
|
findByName(const std::string& name) const;
|
||||||
|
|
||||||
|
// Hidden options are not returned.
|
||||||
SharedHandle<OptionHandler> findByID(int id) const;
|
SharedHandle<OptionHandler> findByID(int id) const;
|
||||||
|
|
||||||
|
// Hidden options are not returned.
|
||||||
SharedHandle<OptionHandler> findByShortName(char shortName) const;
|
SharedHandle<OptionHandler> findByShortName(char shortName) const;
|
||||||
|
|
||||||
const std::deque<SharedHandle<OptionHandler> >& getOptionHandlers() const;
|
|
||||||
|
|
||||||
static SharedHandle<OptionParser> getInstance();
|
static SharedHandle<OptionParser> getInstance();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -86,7 +86,7 @@ void showUsage(const std::string& keyword, const OptionParser& oparser) {
|
||||||
" METALINK_FILE]...") << "\n"
|
" METALINK_FILE]...") << "\n"
|
||||||
<< "\n";
|
<< "\n";
|
||||||
if(util::startsWith(keyword, "#")) {
|
if(util::startsWith(keyword, "#")) {
|
||||||
std::deque<SharedHandle<OptionHandler> > handlers =
|
std::vector<SharedHandle<OptionHandler> > handlers =
|
||||||
keyword == TAG_ALL ? oparser.findAll():oparser.findByTag(keyword);
|
keyword == TAG_ALL ? oparser.findAll():oparser.findByTag(keyword);
|
||||||
if(keyword == TAG_ALL) {
|
if(keyword == TAG_ALL) {
|
||||||
std::cout << _("Printing all options.");
|
std::cout << _("Printing all options.");
|
||||||
|
@ -106,7 +106,7 @@ void showUsage(const std::string& keyword, const OptionParser& oparser) {
|
||||||
std::ostream_iterator<SharedHandle<OptionHandler> >
|
std::ostream_iterator<SharedHandle<OptionHandler> >
|
||||||
(std::cout, "\n\n"));
|
(std::cout, "\n\n"));
|
||||||
} else {
|
} else {
|
||||||
std::deque<SharedHandle<OptionHandler> > handlers =
|
std::vector<SharedHandle<OptionHandler> > handlers =
|
||||||
oparser.findByNameSubstring(keyword);
|
oparser.findByNameSubstring(keyword);
|
||||||
if(!handlers.empty()) {
|
if(!handlers.empty()) {
|
||||||
std::cout << StringFormat(_("Printing options whose name includes"
|
std::cout << StringFormat(_("Printing options whose name includes"
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <deque>
|
|
||||||
|
|
||||||
#include <cppunit/extensions/HelperMacros.h>
|
#include <cppunit/extensions/HelperMacros.h>
|
||||||
|
|
||||||
|
@ -75,7 +74,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION(OptionParserTest);
|
||||||
|
|
||||||
void OptionParserTest::testFindAll()
|
void OptionParserTest::testFindAll()
|
||||||
{
|
{
|
||||||
std::deque<SharedHandle<OptionHandler> > res = _oparser->findAll();
|
std::vector<SharedHandle<OptionHandler> > res = _oparser->findAll();
|
||||||
CPPUNIT_ASSERT_EQUAL((size_t)3, res.size());
|
CPPUNIT_ASSERT_EQUAL((size_t)3, res.size());
|
||||||
CPPUNIT_ASSERT_EQUAL(std::string("alpha"), res[0]->getName());
|
CPPUNIT_ASSERT_EQUAL(std::string("alpha"), res[0]->getName());
|
||||||
CPPUNIT_ASSERT_EQUAL(std::string("bravo"), res[1]->getName());
|
CPPUNIT_ASSERT_EQUAL(std::string("bravo"), res[1]->getName());
|
||||||
|
@ -84,7 +83,7 @@ void OptionParserTest::testFindAll()
|
||||||
|
|
||||||
void OptionParserTest::testFindByNameSubstring()
|
void OptionParserTest::testFindByNameSubstring()
|
||||||
{
|
{
|
||||||
std::deque<SharedHandle<OptionHandler> > res =
|
std::vector<SharedHandle<OptionHandler> > res =
|
||||||
_oparser->findByNameSubstring("l");
|
_oparser->findByNameSubstring("l");
|
||||||
CPPUNIT_ASSERT_EQUAL((size_t)2, res.size());
|
CPPUNIT_ASSERT_EQUAL((size_t)2, res.size());
|
||||||
CPPUNIT_ASSERT_EQUAL(std::string("alpha"), res[0]->getName());
|
CPPUNIT_ASSERT_EQUAL(std::string("alpha"), res[0]->getName());
|
||||||
|
@ -93,7 +92,7 @@ void OptionParserTest::testFindByNameSubstring()
|
||||||
|
|
||||||
void OptionParserTest::testFindByTag()
|
void OptionParserTest::testFindByTag()
|
||||||
{
|
{
|
||||||
std::deque<SharedHandle<OptionHandler> > res =
|
std::vector<SharedHandle<OptionHandler> > res =
|
||||||
_oparser->findByTag("pineapple");
|
_oparser->findByTag("pineapple");
|
||||||
CPPUNIT_ASSERT_EQUAL((size_t)2, res.size());
|
CPPUNIT_ASSERT_EQUAL((size_t)2, res.size());
|
||||||
CPPUNIT_ASSERT_EQUAL(std::string("bravo"), res[0]->getName());
|
CPPUNIT_ASSERT_EQUAL(std::string("bravo"), res[0]->getName());
|
||||||
|
|
Loading…
Reference in New Issue