FeatureConfigTest.cc 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #include "FeatureConfig.h"
  2. #include <cppunit/extensions/HelperMacros.h>
  3. namespace aria2 {
  4. class FeatureConfigTest:public CppUnit::TestFixture {
  5. CPPUNIT_TEST_SUITE(FeatureConfigTest);
  6. CPPUNIT_TEST(testGetDefaultPort);
  7. CPPUNIT_TEST(testIsSupported);
  8. CPPUNIT_TEST(testFeatureSummary);
  9. CPPUNIT_TEST_SUITE_END();
  10. public:
  11. void testGetDefaultPort();
  12. void testIsSupported();
  13. void testFeatureSummary();
  14. };
  15. CPPUNIT_TEST_SUITE_REGISTRATION(FeatureConfigTest);
  16. void FeatureConfigTest::testGetDefaultPort() {
  17. CPPUNIT_ASSERT_EQUAL((uint16_t)80,
  18. FeatureConfig::getInstance()->getDefaultPort("http"));
  19. CPPUNIT_ASSERT_EQUAL((uint16_t)443,
  20. FeatureConfig::getInstance()->getDefaultPort("https"));
  21. CPPUNIT_ASSERT_EQUAL((uint16_t)21,
  22. FeatureConfig::getInstance()->getDefaultPort("ftp"));
  23. }
  24. void FeatureConfigTest::testIsSupported() {
  25. #ifdef ENABLE_SSL
  26. CPPUNIT_ASSERT_EQUAL(true,
  27. FeatureConfig::getInstance()->isSupported
  28. (FeatureConfig::FEATURE_HTTPS));
  29. #else
  30. CPPUNIT_ASSERT_EQUAL(false,
  31. FeatureConfig::getInstance()->isSupported
  32. (FeatureConfig::FEATURE_HTTPS));
  33. #endif // ENABLE_SSL
  34. CPPUNIT_ASSERT_EQUAL(false,
  35. FeatureConfig::getInstance()->isSupported("FTPS"));
  36. }
  37. void FeatureConfigTest::testFeatureSummary() {
  38. CPPUNIT_ASSERT_EQUAL(
  39. #ifdef ENABLE_ASYNC_DNS
  40. std::string("Async DNS, ")
  41. #else
  42. std::string()
  43. #endif // ENABLE_ASYNC_DNS
  44. #ifdef ENABLE_BITTORRENT
  45. +std::string("BitTorrent, ")
  46. #else
  47. +std::string()
  48. #endif // ENABLE_BITTORRENT
  49. #ifdef ENABLE_SSL
  50. +std::string("HTTPS, ")
  51. #else
  52. +std::string()
  53. #endif // ENABLE_SSL
  54. #ifdef ENABLE_MESSAGE_DIGEST
  55. +std::string("Message Digest, ")
  56. #else
  57. +std::string()
  58. #endif // ENABLE_MESSAGE_DIGEST
  59. #ifdef ENABLE_METALINK
  60. +std::string("Metalink")
  61. #else
  62. +std::string()
  63. #endif // ENABLE_METALINK
  64. ,
  65. FeatureConfig::getInstance()->featureSummary());
  66. }
  67. } // namespace aria2