Index: webrtc/p2p/base/port_unittest.cc |
diff --git a/webrtc/p2p/base/port_unittest.cc b/webrtc/p2p/base/port_unittest.cc |
index 896cef115945a0af61052a17c67413ccdd4355ca..b94fcfb3b380d6d3d00fa224fa653845401bf565 100644 |
--- a/webrtc/p2p/base/port_unittest.cc |
+++ b/webrtc/p2p/base/port_unittest.cc |
@@ -141,6 +141,8 @@ class TestPort : public Port { |
ICE_TYPE_PREFERENCE_HOST, 0, true); |
} |
+ virtual bool ProtocolMatch(const std::string& protocol) const { return true; } |
pthatcher1
2015/12/11 02:05:36
Shouldn't we use the enum instead of the string?
honghaiz3
2015/12/11 18:36:31
I am using string because candidate.protocol() ret
|
+ |
// Exposed for testing candidate building. |
void AddCandidateAddress(const rtc::SocketAddress& addr) { |
AddAddress(addr, addr, rtc::SocketAddress(), "udp", "", "", Type(), |
@@ -2495,3 +2497,24 @@ TEST_F(PortTest, TestControlledToControllingNotDestroyed) { |
rtc::Thread::Current()->ProcessMessages(kTimeout); |
EXPECT_FALSE(destroyed()); |
} |
+ |
+TEST_F(PortTest, TestProtocolMatch) { |
+ rtc::scoped_ptr<Port> udp_port(CreateUdpPort(kLocalAddr1)); |
+ EXPECT_TRUE(udp_port->ProtocolMatch(UDP_PROTOCOL_NAME)); |
+ EXPECT_FALSE(udp_port->ProtocolMatch(TCP_PROTOCOL_NAME)); |
+ |
+ rtc::scoped_ptr<Port> stun_port( |
+ CreateStunPort(kLocalAddr1, nat_socket_factory1())); |
+ EXPECT_TRUE(stun_port->ProtocolMatch(UDP_PROTOCOL_NAME)); |
+ EXPECT_FALSE(stun_port->ProtocolMatch(TCP_PROTOCOL_NAME)); |
+ |
+ rtc::scoped_ptr<Port> tcp_port(CreateTcpPort(kLocalAddr1)); |
+ EXPECT_TRUE(tcp_port->ProtocolMatch(TCP_PROTOCOL_NAME)); |
+ EXPECT_TRUE(tcp_port->ProtocolMatch(SSLTCP_PROTOCOL_NAME)); |
+ EXPECT_FALSE(tcp_port->ProtocolMatch(UDP_PROTOCOL_NAME)); |
+ |
+ rtc::scoped_ptr<Port> turn_port( |
+ CreateTurnPort(kLocalAddr1, nat_socket_factory1(), PROTO_UDP, PROTO_UDP)); |
+ EXPECT_TRUE(turn_port->ProtocolMatch(UDP_PROTOCOL_NAME)); |
+ EXPECT_FALSE(turn_port->ProtocolMatch(TCP_PROTOCOL_NAME)); |
+} |