⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 commandlineparsertest.cpp

📁 这是国外的resip协议栈
💻 CPP
字号:
#include "CommandLineParser.h"#include "CommandLineParserTest.h"CPPUNIT_TEST_SUITE_REGISTRATION( CommandLineParserTest );CommandLineParserTest::CommandLineParserTest(){}CommandLineParserTest::~CommandLineParserTest(){}void CommandLineParserTest::setUp(){  _parser = NULL;}void CommandLineParserTest::tearDown(){  delete _parser;}void CommandLineParserTest::parse( const char **lines ){  int count =0;  for ( const char **line = lines; *line != NULL; ++line, ++count );  delete _parser;  _parser = new CommandLineParser( count, lines );  _parser->parse();}void CommandLineParserTest::testEmptyCommandLine(){  static const char *lines[] = { "", NULL };  parse( lines );  std::string none;  CPPUNIT_ASSERT_EQUAL( none, _parser->getEncoding() );  CPPUNIT_ASSERT_EQUAL( none, _parser->getTestPath() );  CPPUNIT_ASSERT_EQUAL( none, _parser->getXmlFileName() );  CPPUNIT_ASSERT_EQUAL( none, _parser->getXmlStyleSheet() );  CPPUNIT_ASSERT( !_parser->noTestProgress() );  CPPUNIT_ASSERT( !_parser->useBriefTestProgress() );  CPPUNIT_ASSERT( !_parser->useCompilerOutputter() );  CPPUNIT_ASSERT( !_parser->useCoutStream() );  CPPUNIT_ASSERT( !_parser->useTextOutputter() );  CPPUNIT_ASSERT( !_parser->useXmlOutputter() );}void CommandLineParserTest::testFlagCompiler(){  static const char *lines[] = { "", "-c", NULL };  parse( lines );  std::string none;  CPPUNIT_ASSERT_EQUAL( none, _parser->getEncoding() );  CPPUNIT_ASSERT_EQUAL( none, _parser->getTestPath() );  CPPUNIT_ASSERT_EQUAL( none, _parser->getXmlFileName() );  CPPUNIT_ASSERT_EQUAL( none, _parser->getXmlStyleSheet() );  CPPUNIT_ASSERT( !_parser->noTestProgress() );  CPPUNIT_ASSERT( !_parser->useBriefTestProgress() );  CPPUNIT_ASSERT( _parser->useCompilerOutputter() );  CPPUNIT_ASSERT( !_parser->useCoutStream() );  CPPUNIT_ASSERT( !_parser->useTextOutputter() );  CPPUNIT_ASSERT( !_parser->useXmlOutputter() );  CPPUNIT_ASSERT_EQUAL( 0, _parser->getPlugInCount() );}void CommandLineParserTest::testLongFlagBriefProgress(){  static const char *lines[] = { "", "--brief-progress", NULL };  parse( lines );  std::string none;  CPPUNIT_ASSERT_EQUAL( none, _parser->getEncoding() );  CPPUNIT_ASSERT_EQUAL( none, _parser->getTestPath() );  CPPUNIT_ASSERT_EQUAL( none, _parser->getXmlFileName() );  CPPUNIT_ASSERT_EQUAL( none, _parser->getXmlStyleSheet() );  CPPUNIT_ASSERT( !_parser->noTestProgress() );  CPPUNIT_ASSERT( _parser->useBriefTestProgress() );  CPPUNIT_ASSERT( !_parser->useCompilerOutputter() );  CPPUNIT_ASSERT( !_parser->useCoutStream() );  CPPUNIT_ASSERT( !_parser->useTextOutputter() );  CPPUNIT_ASSERT( !_parser->useXmlOutputter() );  CPPUNIT_ASSERT_EQUAL( 0, _parser->getPlugInCount() );}void CommandLineParserTest::testFileName(){  static const char *lines[] = { "", "TestPlugIn.dll", NULL };  parse( lines );  std::string none;  CPPUNIT_ASSERT_EQUAL( none, _parser->getEncoding() );  CPPUNIT_ASSERT_EQUAL( none, _parser->getTestPath() );  CPPUNIT_ASSERT_EQUAL( none, _parser->getXmlFileName() );  CPPUNIT_ASSERT_EQUAL( none, _parser->getXmlStyleSheet() );  CPPUNIT_ASSERT( !_parser->noTestProgress() );  CPPUNIT_ASSERT( !_parser->useBriefTestProgress() );  CPPUNIT_ASSERT( !_parser->useCompilerOutputter() );  CPPUNIT_ASSERT( !_parser->useCoutStream() );  CPPUNIT_ASSERT( !_parser->useTextOutputter() );  CPPUNIT_ASSERT( !_parser->useXmlOutputter() );  CPPUNIT_ASSERT_EQUAL( 1, _parser->getPlugInCount() );  CommandLinePlugInInfo info( _parser->getPlugInAt( 0 ) );  CPPUNIT_ASSERT_EQUAL( std::string("TestPlugIn.dll"), info.m_fileName );  CPPUNIT_ASSERT( info.m_parameters.getCommandLine().empty() );}void CommandLineParserTest::testTestPath(){  static const char *lines[] = { "", ":Core", NULL };  parse( lines );  std::string none;  CPPUNIT_ASSERT_EQUAL( none, _parser->getEncoding() );  CPPUNIT_ASSERT_EQUAL( std::string("Core"), _parser->getTestPath() );  CPPUNIT_ASSERT_EQUAL( none, _parser->getXmlFileName() );  CPPUNIT_ASSERT_EQUAL( none, _parser->getXmlStyleSheet() );  CPPUNIT_ASSERT( !_parser->noTestProgress() );  CPPUNIT_ASSERT( !_parser->useBriefTestProgress() );  CPPUNIT_ASSERT( !_parser->useCompilerOutputter() );  CPPUNIT_ASSERT( !_parser->useCoutStream() );  CPPUNIT_ASSERT( !_parser->useTextOutputter() );  CPPUNIT_ASSERT( !_parser->useXmlOutputter() );  CPPUNIT_ASSERT_EQUAL( 0, _parser->getPlugInCount() );}void CommandLineParserTest::testParameterWithSpace(){  static const char *lines[] = { "", "--xml", "Test Results.xml", NULL };  parse( lines );  std::string none;  CPPUNIT_ASSERT_EQUAL( none, _parser->getEncoding() );  CPPUNIT_ASSERT_EQUAL( none, _parser->getTestPath() );  CPPUNIT_ASSERT_EQUAL( std::string("Test Results.xml"),                         _parser->getXmlFileName() );  CPPUNIT_ASSERT_EQUAL( none, _parser->getXmlStyleSheet() );  CPPUNIT_ASSERT( !_parser->noTestProgress() );  CPPUNIT_ASSERT( !_parser->useBriefTestProgress() );  CPPUNIT_ASSERT( !_parser->useCompilerOutputter() );  CPPUNIT_ASSERT( !_parser->useCoutStream() );  CPPUNIT_ASSERT( !_parser->useTextOutputter() );  CPPUNIT_ASSERT( _parser->useXmlOutputter() );  CPPUNIT_ASSERT_EQUAL( 0, _parser->getPlugInCount() );}void CommandLineParserTest::testMissingStyleSheetParameterThrow(){  static const char *lines[] = { "", "--xsl", NULL };  parse( lines );}void CommandLineParserTest::testMissingEncodingParameterThrow(){  static const char *lines[] = { "", "--encoding", NULL };  parse( lines );}void CommandLineParserTest::testXmlFileNameIsOptional(){  static const char *lines[] = { "", "--xml", NULL };  parse( lines );  std::string none;  CPPUNIT_ASSERT_EQUAL( none, _parser->getXmlFileName() );}void CommandLineParserTest::testPlugInsWithParameters(){  static const char *lines[] = { "", "TestPlugIn1.dll=login = lain",                           "Clocker.dll", NULL };  parse( lines );  CPPUNIT_ASSERT_EQUAL( 2, _parser->getPlugInCount() );  CommandLinePlugInInfo info1( _parser->getPlugInAt( 0 ) );  CPPUNIT_ASSERT_EQUAL( std::string("TestPlugIn1.dll"), info1.m_fileName );  CPPUNIT_ASSERT_EQUAL( std::string("login = lain"),                         info1.m_parameters.getCommandLine() );  CommandLinePlugInInfo info2( _parser->getPlugInAt( 1 ) );  CPPUNIT_ASSERT_EQUAL( std::string("Clocker.dll"), info2.m_fileName );  CPPUNIT_ASSERT( info2.m_parameters.getCommandLine().empty() );}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -