| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | 
							- #include "XmlRpcRequestProcessor.h"
 
- #include <cppunit/extensions/HelperMacros.h>
 
- #include "XmlRpcRequestParserStateMachine.h"
 
- namespace aria2 {
 
- namespace xmlrpc {
 
- class XmlRpcRequestProcessorTest:public CppUnit::TestFixture {
 
-   CPPUNIT_TEST_SUITE(XmlRpcRequestProcessorTest);
 
-   CPPUNIT_TEST(testParseMemory);
 
-   CPPUNIT_TEST_SUITE_END();
 
- public:
 
-   void setUp() {}
 
-   void tearDown() {}
 
-   void testParseMemory();
 
- };
 
- CPPUNIT_TEST_SUITE_REGISTRATION(XmlRpcRequestProcessorTest);
 
- void XmlRpcRequestProcessorTest::testParseMemory()
 
- {
 
-   XmlRpcRequestProcessor proc;
 
-   XmlRpcRequest req =
 
-     proc.parseMemory("<?xml version=\"1.0\"?>"
 
- 		     "<methodCall>"
 
- 		     "  <methodName>aria2.addURI</methodName>"
 
- 		     "    <params>"
 
- 		     "      <param>"
 
- 		     "        <value><i4>100</i4></value>"
 
- 		     "      </param>"
 
- 		     "      <param>"
 
- 		     "       <value>"
 
- 		     "         <struct>"
 
- 		     "           <member>"
 
- 		     "             <name>max-count</name>"
 
- 		     "             <value><i4>65535</i4></value>"
 
- 		     "           </member>"
 
- 		     "           <member>"
 
- 		     "             <name>seed-ratio</name>"
 
- 		     "             <value><double>0.99</double></value>"
 
- 		     "           </member>"
 
- 		     "         </struct>"
 
- 		     "       </value>"
 
- 		     "     </param>"
 
- 		     "     <param>"
 
- 		     "       <value>"
 
- 		     "         <array>"
 
- 		     "           <data>"
 
- 		     "             <value><string>pudding</string></value>"
 
- 		     "             <value><base64>aGVsbG8gd29ybGQ=</base64></value>"
 
- 		     "           </data>"		     
 
- 		     "         </array>"
 
- 		     "       </value>"
 
- 		     "     </param>"
 
- 		     "   </params>"
 
- 		     "</methodCall>");
 
-   CPPUNIT_ASSERT_EQUAL(std::string("aria2.addURI"), req._methodName);
 
-   CPPUNIT_ASSERT_EQUAL((size_t)3, req._params.size());
 
-   CPPUNIT_ASSERT_EQUAL((int64_t)100, req._params[0].i());
 
-   CPPUNIT_ASSERT_EQUAL((int64_t)65535, req._params[1]["max-count"].i());
 
-   // Current implementation handles double as string.
 
-   CPPUNIT_ASSERT_EQUAL(std::string("0.99"), req._params[1]["seed-ratio"].s());
 
-   CPPUNIT_ASSERT_EQUAL(std::string("pudding"), req._params[2][0].s());
 
-   CPPUNIT_ASSERT_EQUAL(std::string("hello world"), req._params[2][1].s());
 
- }
 
- } // namespace xmlrpc
 
- } // namespace aria2
 
 
  |