summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Network/UnitTest/HostAddressTest.cpp')
-rw-r--r--Swiften/Network/UnitTest/HostAddressTest.cpp24
1 files changed, 23 insertions, 1 deletions
diff --git a/Swiften/Network/UnitTest/HostAddressTest.cpp b/Swiften/Network/UnitTest/HostAddressTest.cpp
index 1cc31ad..45793fa 100644
--- a/Swiften/Network/UnitTest/HostAddressTest.cpp
+++ b/Swiften/Network/UnitTest/HostAddressTest.cpp
@@ -15,8 +15,11 @@ using namespace Swift;
class HostAddressTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE(HostAddressTest);
CPPUNIT_TEST(testConstructor);
+ CPPUNIT_TEST(testConstructor_Invalid);
+ CPPUNIT_TEST(testConstructor_InvalidString);
CPPUNIT_TEST(testToString);
CPPUNIT_TEST(testToString_IPv6);
+ CPPUNIT_TEST(testToString_Invalid);
CPPUNIT_TEST_SUITE_END();
public:
@@ -24,6 +27,19 @@ class HostAddressTest : public CppUnit::TestFixture {
HostAddress testling("192.168.1.254");
CPPUNIT_ASSERT_EQUAL(std::string("192.168.1.254"), testling.toString());
+ CPPUNIT_ASSERT(testling.isValid());
+ }
+
+ void testConstructor_Invalid() {
+ HostAddress testling;
+
+ CPPUNIT_ASSERT(!testling.isValid());
+ }
+
+ void testConstructor_InvalidString() {
+ HostAddress testling("invalid");
+
+ CPPUNIT_ASSERT(!testling.isValid());
}
void testToString() {
@@ -37,7 +53,13 @@ class HostAddressTest : public CppUnit::TestFixture {
unsigned char address[16] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17};
HostAddress testling(address, 16);
- CPPUNIT_ASSERT_EQUAL(std::string("0102:0304:0506:0708:090a:0b0c:0d0e:0f11"), testling.toString());
+ CPPUNIT_ASSERT_EQUAL(std::string("102:304:506:708:90a:b0c:d0e:f11"), testling.toString());
+ }
+
+ void testToString_Invalid() {
+ HostAddress testling;
+
+ CPPUNIT_ASSERT_EQUAL(std::string("0.0.0.0"), testling.toString());
}
};