Index: webrtc/base/network_unittest.cc |
diff --git a/webrtc/base/network_unittest.cc b/webrtc/base/network_unittest.cc |
index 436222127e6e08dd82767b3974f75c9bbd94cc18..5324e86e2caa637a8d00ccdd87f52bc8d8de5463 100644 |
--- a/webrtc/base/network_unittest.cc |
+++ b/webrtc/base/network_unittest.cc |
@@ -10,6 +10,7 @@ |
#include "webrtc/base/network.h" |
+#include "webrtc/base/nethelpers.h" |
#include "webrtc/base/networkmonitor.h" |
#include <vector> |
#if defined(WEBRTC_POSIX) |
@@ -96,6 +97,11 @@ class NetworkTest : public testing::Test, public sigslot::has_slots<> { |
bool callback_called_; |
}; |
+class TestBasicNetworkManager : public BasicNetworkManager { |
+ public: |
+ using BasicNetworkManager::QueryDefaultLocalAddress; |
+}; |
+ |
// Test that the Network ctor works properly. |
TEST_F(NetworkTest, TestNetworkConstruct) { |
Network ipv4_network1("test_eth0", "Test Network Adapter 1", |
@@ -842,4 +848,19 @@ TEST_F(NetworkTest, TestNetworkMonitoring) { |
NetworkMonitorFactory::ReleaseFactory(factory); |
} |
+TEST_F(NetworkTest, DefaultPrivateAddress) { |
+ TestBasicNetworkManager manager; |
+ manager.StartUpdating(); |
+ std::vector<Network*> networks; |
+ manager.GetNetworks(&networks); |
+ for (auto& network : networks) { |
+ if (network->GetBestIP().family() == AF_INET) { |
+ EXPECT_TRUE(manager.QueryDefaultLocalAddress(AF_INET) != IPAddress()); |
+ } else if (network->GetBestIP().family() == AF_INET6) { |
+ EXPECT_TRUE(manager.QueryDefaultLocalAddress(AF_INET6) != IPAddress()); |
+ } |
+ } |
+ manager.StopUpdating(); |
+} |
+ |
} // namespace rtc |