@@ -83,12 +83,12 @@ BOOST_AUTO_TEST_CASE(netbase_properties)
8383
8484}
8585
86- bool static TestSplitHost (const std::string& test, const std::string& host, uint16_t port)
86+ bool static TestSplitHost (const std::string& test, const std::string& host, uint16_t port, bool validPort= true )
8787{
8888 std::string hostOut;
8989 uint16_t portOut{0 };
90- SplitHostPort (test, portOut, hostOut);
91- return hostOut == host && port == portOut ;
90+ bool validPortOut = SplitHostPort (test, portOut, hostOut);
91+ return hostOut == host && portOut == port && validPortOut == validPort ;
9292}
9393
9494BOOST_AUTO_TEST_CASE (netbase_splithost)
@@ -108,6 +108,23 @@ BOOST_AUTO_TEST_CASE(netbase_splithost)
108108 BOOST_CHECK (TestSplitHost (" :9999" , " " , 9999 ));
109109 BOOST_CHECK (TestSplitHost (" []:9999" , " " , 9999 ));
110110 BOOST_CHECK (TestSplitHost (" " , " " , 0 ));
111+ BOOST_CHECK (TestSplitHost (" :65535" , " " , 65535 ));
112+ BOOST_CHECK (TestSplitHost (" :65536" , " :65536" , 0 , false ));
113+ BOOST_CHECK (TestSplitHost (" :-1" , " :-1" , 0 , false ));
114+ BOOST_CHECK (TestSplitHost (" []:70001" , " []:70001" , 0 , false ));
115+ BOOST_CHECK (TestSplitHost (" []:-1" , " []:-1" , 0 , false ));
116+ BOOST_CHECK (TestSplitHost (" []:-0" , " []:-0" , 0 , false ));
117+ BOOST_CHECK (TestSplitHost (" []:0" , " " , 0 , false ));
118+ BOOST_CHECK (TestSplitHost (" []:1/2" , " []:1/2" , 0 , false ));
119+ BOOST_CHECK (TestSplitHost (" []:1E2" , " []:1E2" , 0 , false ));
120+ BOOST_CHECK (TestSplitHost (" 127.0.0.1:65536" , " 127.0.0.1:65536" , 0 , false ));
121+ BOOST_CHECK (TestSplitHost (" 127.0.0.1:0" , " 127.0.0.1" , 0 , false ));
122+ BOOST_CHECK (TestSplitHost (" 127.0.0.1:" , " 127.0.0.1:" , 0 , false ));
123+ BOOST_CHECK (TestSplitHost (" 127.0.0.1:1/2" , " 127.0.0.1:1/2" , 0 , false ));
124+ BOOST_CHECK (TestSplitHost (" 127.0.0.1:1E2" , " 127.0.0.1:1E2" , 0 , false ));
125+ BOOST_CHECK (TestSplitHost (" www.bitcoincore.org:65536" , " www.bitcoincore.org:65536" , 0 , false ));
126+ BOOST_CHECK (TestSplitHost (" www.bitcoincore.org:0" , " www.bitcoincore.org" , 0 , false ));
127+ BOOST_CHECK (TestSplitHost (" www.bitcoincore.org:" , " www.bitcoincore.org:" , 0 , false ));
111128}
112129
113130bool static TestParse (std::string src, std::string canon)
0 commit comments