| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | 
							- #include "common.h"
 
- #include "PeerMessageUtil.h"
 
- #include "a2netcompat.h"
 
- #include <cstring>
 
- #include <cppunit/extensions/HelperMacros.h>
 
- namespace aria2 {
 
- class PeerMessageUtilTest:public CppUnit::TestFixture {
 
-   CPPUNIT_TEST_SUITE(PeerMessageUtilTest);
 
-   CPPUNIT_TEST(testCreateCompact);
 
-   CPPUNIT_TEST_SUITE_END();
 
- private:
 
- public:
 
-   void setUp() {
 
-   }
 
-   void testCreateCompact();
 
- };
 
- CPPUNIT_TEST_SUITE_REGISTRATION( PeerMessageUtilTest );
 
- void setIntParam(char* dest, int param) {
 
-   int nParam = htonl(param);
 
-   memcpy(dest, &nParam, 4);
 
- }
 
- void setShortIntParam(char* dest, int param) {
 
-   short int nParam = htons(param);
 
-   memcpy(dest, &nParam, 2);
 
- }
 
- void createNLengthMessage(char* msg, int msgLen, int payloadLen, int id) {
 
-   memset(msg, 0, msgLen);
 
-   setIntParam(msg, payloadLen);
 
-   msg[4] = (char)id;
 
- }
 
- void PeerMessageUtilTest::testCreateCompact()
 
- {
 
-   unsigned char compact[6];
 
-   // Note: PeerMessageUtil::createcompact() on linux can handle IPv4-mapped
 
-   // addresses like `ffff::127.0.0.1', but on cygwin, it doesn't.
 
-   CPPUNIT_ASSERT(PeerMessageUtil::createcompact(compact, "127.0.0.1", 6881));
 
-   std::pair<std::string, uint16_t> p = PeerMessageUtil::unpackcompact(compact);
 
-   CPPUNIT_ASSERT_EQUAL(std::string("127.0.0.1"), p.first);
 
-   CPPUNIT_ASSERT_EQUAL((uint16_t)6881, p.second);
 
- }
 
- } // namespace aria2
 
 
  |