1 /*
2  * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
3  *
4  * Squid software is distributed under GPLv2+ license and includes
5  * contributions from numerous individuals and organizations.
6  * Please see the COPYING and CONTRIBUTORS files for details.
7  */
8 
9 #ifndef SQUID_SRC_TEST_IPADDRESS_H
10 #define SQUID_SRC_TEST_IPADDRESS_H
11 
12 #include <cppunit/extensions/HelperMacros.h>
13 
14 /*
15  * test the IP storage type
16  */
17 
18 class testIpAddress : public CPPUNIT_NS::TestFixture
19 {
20     CPPUNIT_TEST_SUITE( testIpAddress );
21     CPPUNIT_TEST( testDefaults );
22     CPPUNIT_TEST( testInAddrConstructor );
23     CPPUNIT_TEST( testInAddr6Constructor );
24     CPPUNIT_TEST( testSockAddrConstructor );
25     CPPUNIT_TEST( testSockAddr6Constructor );
26     CPPUNIT_TEST( testHostentConstructor );
27     CPPUNIT_TEST( testStringConstructor );
28     CPPUNIT_TEST( testCopyConstructor );
29     CPPUNIT_TEST( testsetEmpty );
30     CPPUNIT_TEST( testBooleans );
31     CPPUNIT_TEST( testAddrInfo );
32     CPPUNIT_TEST( testtoStr );
33     CPPUNIT_TEST( testtoUrl_fromInAddr );
34     CPPUNIT_TEST( testtoUrl_fromSockAddr );
35     CPPUNIT_TEST( testgetReverseString );
36     CPPUNIT_TEST( testMasking );
37 
38     CPPUNIT_TEST( testBugNullingDisplay );
39     CPPUNIT_TEST_SUITE_END();
40 
41 public:
42 
43 protected:
44     void testDefaults();
45 
46     void testInAddrConstructor();
47     void testInAddr6Constructor();
48     void testSockAddrConstructor();
49     void testSockAddr6Constructor();
50     void testHostentConstructor();
51     void testStringConstructor();
52     void testCopyConstructor();
53 
54     void testsetEmpty();
55     void testBooleans();
56 
57     void testAddrInfo();
58 
59     void testtoStr();
60     void testtoUrl_fromInAddr();
61     void testtoUrl_fromSockAddr();
62     void testgetReverseString();
63     void testMasking();
64 
65     // bugs.
66     void testBugNullingDisplay();
67 
68 };
69 
70 #endif /* SQUID_SRC_TEST_IPADDRESS_H */
71 
72