mirror of
https://github.com/aria2/aria2.git
synced 2025-01-01 15:44:55 +00:00
76 lines
2.7 KiB
C++
76 lines
2.7 KiB
C++
#include "ExtensionMessageRegistry.h"
|
|
|
|
#include <cppunit/extensions/HelperMacros.h>
|
|
|
|
namespace aria2 {
|
|
|
|
class ExtensionMessageRegistryTest:public CppUnit::TestFixture {
|
|
|
|
CPPUNIT_TEST_SUITE(ExtensionMessageRegistryTest);
|
|
CPPUNIT_TEST(testStrBtExtension);
|
|
CPPUNIT_TEST(testKeyBtExtension);
|
|
CPPUNIT_TEST(testGetExtensionMessageID);
|
|
CPPUNIT_TEST_SUITE_END();
|
|
public:
|
|
void testStrBtExtension();
|
|
void testKeyBtExtension();
|
|
void testGetExtensionMessageID();
|
|
};
|
|
|
|
CPPUNIT_TEST_SUITE_REGISTRATION( ExtensionMessageRegistryTest );
|
|
|
|
void ExtensionMessageRegistryTest::testStrBtExtension()
|
|
{
|
|
CPPUNIT_ASSERT_EQUAL(std::string("ut_pex"),
|
|
std::string(strBtExtension
|
|
(ExtensionMessageRegistry::UT_PEX)));
|
|
CPPUNIT_ASSERT_EQUAL(std::string("ut_metadata"),
|
|
std::string(strBtExtension
|
|
(ExtensionMessageRegistry::UT_METADATA)));
|
|
CPPUNIT_ASSERT(!strBtExtension(100));
|
|
}
|
|
|
|
void ExtensionMessageRegistryTest::testKeyBtExtension()
|
|
{
|
|
CPPUNIT_ASSERT_EQUAL((int)ExtensionMessageRegistry::UT_PEX,
|
|
keyBtExtension("ut_pex"));
|
|
CPPUNIT_ASSERT_EQUAL((int)ExtensionMessageRegistry::UT_METADATA,
|
|
keyBtExtension("ut_metadata"));
|
|
CPPUNIT_ASSERT_EQUAL((int)ExtensionMessageRegistry::MAX_EXTENSION,
|
|
keyBtExtension("unknown"));
|
|
}
|
|
|
|
void ExtensionMessageRegistryTest::testGetExtensionMessageID()
|
|
{
|
|
ExtensionMessageRegistry reg;
|
|
CPPUNIT_ASSERT_EQUAL((uint8_t)0, reg.getExtensionMessageID
|
|
(ExtensionMessageRegistry::UT_PEX));
|
|
CPPUNIT_ASSERT(!reg.getExtensionName(0));
|
|
CPPUNIT_ASSERT(!reg.getExtensionName(1));
|
|
CPPUNIT_ASSERT(!reg.getExtensionName(100));
|
|
|
|
reg.setExtensionMessageID(ExtensionMessageRegistry::UT_PEX, 1);
|
|
|
|
CPPUNIT_ASSERT_EQUAL(std::string("ut_pex"),
|
|
std::string(reg.getExtensionName(1)));
|
|
CPPUNIT_ASSERT_EQUAL((uint8_t)1, reg.getExtensionMessageID
|
|
(ExtensionMessageRegistry::UT_PEX));
|
|
|
|
reg.setExtensionMessageID(ExtensionMessageRegistry::UT_METADATA, 127);
|
|
|
|
CPPUNIT_ASSERT_EQUAL((uint8_t)127, reg.getExtensionMessageID
|
|
(ExtensionMessageRegistry::UT_METADATA));
|
|
CPPUNIT_ASSERT_EQUAL((uint8_t)1, reg.getExtensionMessageID
|
|
(ExtensionMessageRegistry::UT_PEX));
|
|
|
|
reg.removeExtension(ExtensionMessageRegistry::UT_PEX);
|
|
|
|
CPPUNIT_ASSERT_EQUAL((uint8_t)127, reg.getExtensionMessageID
|
|
(ExtensionMessageRegistry::UT_METADATA));
|
|
CPPUNIT_ASSERT_EQUAL((uint8_t)0, reg.getExtensionMessageID
|
|
(ExtensionMessageRegistry::UT_PEX));
|
|
CPPUNIT_ASSERT(!reg.getExtensionName(1));
|
|
}
|
|
|
|
} // namespace aria2
|