| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/quic/quic_socket_address_coder.h" | 5 #include "net/quic/quic_socket_address_coder.h" |
| 6 | 6 |
| 7 #include "net/base/sys_addrinfo.h" | 7 #include "net/base/sys_addrinfo.h" |
| 8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
| 9 | 9 |
| 10 using std::string; | 10 using std::string; |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 ASSERT_FALSE(serialized.empty()); | 92 ASSERT_FALSE(serialized.empty()); |
| 93 serialized.erase(serialized.length() - 1); | 93 serialized.erase(serialized.length() - 1); |
| 94 EXPECT_FALSE(coder.Decode(serialized.data(), serialized.length())); | 94 EXPECT_FALSE(coder.Decode(serialized.data(), serialized.length())); |
| 95 } | 95 } |
| 96 EXPECT_TRUE(serialized.empty()); | 96 EXPECT_TRUE(serialized.empty()); |
| 97 } | 97 } |
| 98 | 98 |
| 99 TEST(QuicSocketAddressCoderTest, EncodeAndDecode) { | 99 TEST(QuicSocketAddressCoderTest, EncodeAndDecode) { |
| 100 struct { | 100 struct { |
| 101 const char* ip_literal; | 101 const char* ip_literal; |
| 102 uint16 port; | 102 uint16_t port; |
| 103 } test_case[] = { | 103 } test_case[] = { |
| 104 {"93.184.216.119", 0x1234}, | 104 {"93.184.216.119", 0x1234}, |
| 105 {"199.204.44.194", 80}, | 105 {"199.204.44.194", 80}, |
| 106 {"149.20.4.69", 443}, | 106 {"149.20.4.69", 443}, |
| 107 {"127.0.0.1", 8080}, | 107 {"127.0.0.1", 8080}, |
| 108 {"2001:700:300:1800::", 0x5678}, | 108 {"2001:700:300:1800::", 0x5678}, |
| 109 {"::1", 65534}, | 109 {"::1", 65534}, |
| 110 }; | 110 }; |
| 111 | 111 |
| 112 for (size_t i = 0; i < arraysize(test_case); i++) { | 112 for (size_t i = 0; i < arraysize(test_case); i++) { |
| 113 IPAddressNumber ip; | 113 IPAddressNumber ip; |
| 114 ASSERT_TRUE(ParseIPLiteralToNumber(test_case[i].ip_literal, &ip)); | 114 ASSERT_TRUE(ParseIPLiteralToNumber(test_case[i].ip_literal, &ip)); |
| 115 QuicSocketAddressCoder encoder(IPEndPoint(ip, test_case[i].port)); | 115 QuicSocketAddressCoder encoder(IPEndPoint(ip, test_case[i].port)); |
| 116 string serialized = encoder.Encode(); | 116 string serialized = encoder.Encode(); |
| 117 | 117 |
| 118 QuicSocketAddressCoder decoder; | 118 QuicSocketAddressCoder decoder; |
| 119 ASSERT_TRUE(decoder.Decode(serialized.data(), serialized.length())); | 119 ASSERT_TRUE(decoder.Decode(serialized.data(), serialized.length())); |
| 120 EXPECT_EQ(encoder.ip(), decoder.ip()); | 120 EXPECT_EQ(encoder.ip(), decoder.ip()); |
| 121 EXPECT_EQ(encoder.port(), decoder.port()); | 121 EXPECT_EQ(encoder.port(), decoder.port()); |
| 122 } | 122 } |
| 123 } | 123 } |
| 124 | 124 |
| 125 } // namespace test | 125 } // namespace test |
| 126 } // namespace net | 126 } // namespace net |
| OLD | NEW |