Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(102)

Side by Side Diff: ppapi/tests/test_net_address_private.cc

Issue 9722008: Add CreateFromIPv[46]Address() in PPB_NetAddress_Private. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "ppapi/tests/test_net_address_private.h" 5 #include "ppapi/tests/test_net_address_private.h"
6 6
7 #include <string.h> 7 #include <string.h>
8 8
9 #include "base/logging.h"
10
9 #include "ppapi/cpp/private/net_address_private.h" 11 #include "ppapi/cpp/private/net_address_private.h"
10 #include "ppapi/c/private/ppb_net_address_private.h" 12 #include "ppapi/c/private/ppb_net_address_private.h"
11 #include "ppapi/tests/test_utils.h" 13 #include "ppapi/tests/test_utils.h"
12 #include "ppapi/tests/testing_instance.h" 14 #include "ppapi/tests/testing_instance.h"
13 15
14 // Other than |GetAnyAddress()|, there's no way to actually get
15 // |PP_NetAddress_Private| structs from just this interface. We'll cheat and
16 // synthesize some.
17
18 #if defined(PPAPI_POSIX)
19 #include <arpa/inet.h>
20 #include <netdb.h>
21 #include <netinet/in.h>
22 #include <sys/socket.h>
23 #endif
24
25 #if defined(PPAPI_OS_MACOSX)
26 // This is a bit evil, but it's standard operating procedure for |s6_addr|....
27 #define s6_addr16 __u6_addr.__u6_addr16
28 #endif
29
30 #if defined(PPAPI_OS_WIN)
31 #include <ws2tcpip.h>
32
33 #define s6_addr16 u.Word
34 #endif
35
36 using pp::NetAddressPrivate; 16 using pp::NetAddressPrivate;
37 17
38 namespace { 18 namespace {
39 19
40 // |host| should be an IP address represented as text, e.g., "192.168.0.1". 20 PP_NetAddress_Private MakeIPv4NetAddress(const uint8_t host[4], int port) {
41 PP_NetAddress_Private MakeIPv4NetAddress(const char* host, int port) { 21 PP_NetAddress_Private addr;
42 PP_NetAddress_Private addr = PP_NetAddress_Private(); 22 NetAddressPrivate::CreateFromIPv4Address(
43 addr.size = sizeof(sockaddr_in); 23 reinterpret_cast<const uint8_t*>(host), port, &addr);
viettrungluu 2012/03/22 04:54:34 Eh? Is this cast really needed?
Sergey Ulanov 2012/03/22 17:43:48 No. Removed.
44 sockaddr_in* a = reinterpret_cast<sockaddr_in*>(addr.data);
45 a->sin_family = AF_INET;
46 a->sin_port = htons(port);
47 a->sin_addr.s_addr = inet_addr(host);
48 return addr; 24 return addr;
49 } 25 }
50 26
51 // |host| should be an array of eight 16-bit numbers. 27 PP_NetAddress_Private MakeIPv6NetAddress(const uint16_t host[8], uint16_t port,
52 PP_NetAddress_Private MakeIPv6NetAddress(const uint16_t host[], uint16_t port,
53 uint32_t scope_id) { 28 uint32_t scope_id) {
54 PP_NetAddress_Private addr = PP_NetAddress_Private(); 29 PP_NetAddress_Private addr = PP_NetAddress_Private();
55 addr.size = sizeof(sockaddr_in6); 30 uint8_t ip[16];
56 sockaddr_in6* a = reinterpret_cast<sockaddr_in6*>(addr.data); 31 for(int i = 0; i < 8; ++i) {
57 a->sin6_family = AF_INET6; 32 ip[i * 2] = host[i] >> 8;
58 a->sin6_port = htons(port); 33 ip[i * 2 + 1] = host[i] & 0xFF;
viettrungluu 2012/03/22 04:54:34 Nit (here and elsewhere): apparently, all the othe
Sergey Ulanov 2012/03/22 17:43:48 Done.
59 a->sin6_flowinfo = 0; 34 }
60 for (int i = 0; i < 8; i++) 35 NetAddressPrivate::CreateFromIPv6Address(ip, scope_id, port, &addr);
61 a->sin6_addr.s6_addr16[i] = htons(host[i]);
62 a->sin6_scope_id = scope_id;
63 return addr; 36 return addr;
64 } 37 }
65 38
66 } // namespace 39 } // namespace
67 40
68 REGISTER_TEST_CASE(NetAddressPrivate); 41 REGISTER_TEST_CASE(NetAddressPrivate);
69 42
70 TestNetAddressPrivate::TestNetAddressPrivate(TestingInstance* instance) 43 TestNetAddressPrivate::TestNetAddressPrivate(TestingInstance* instance)
71 : TestCase(instance) { 44 : TestCase(instance) {
72 } 45 }
73 46
74 bool TestNetAddressPrivate::Init() { 47 bool TestNetAddressPrivate::Init() {
75 return NetAddressPrivate::IsAvailable(); 48 return NetAddressPrivate::IsAvailable();
76 } 49 }
77 50
78 void TestNetAddressPrivate::RunTests(const std::string& filter) { 51 void TestNetAddressPrivate::RunTests(const std::string& filter) {
79 RUN_TEST(AreEqual, filter); 52 RUN_TEST(AreEqual, filter);
80 RUN_TEST(AreHostsEqual, filter); 53 RUN_TEST(AreHostsEqual, filter);
81 RUN_TEST(Describe, filter); 54 RUN_TEST(Describe, filter);
82 RUN_TEST(ReplacePort, filter); 55 RUN_TEST(ReplacePort, filter);
83 RUN_TEST(GetAnyAddress, filter); 56 RUN_TEST(GetAnyAddress, filter);
84 RUN_TEST(DescribeIPv6, filter); 57 RUN_TEST(DescribeIPv6, filter);
85 RUN_TEST(GetFamily, filter); 58 RUN_TEST(GetFamily, filter);
86 RUN_TEST(GetPort, filter); 59 RUN_TEST(GetPort, filter);
87 RUN_TEST(GetAddress, filter); 60 RUN_TEST(GetAddress, filter);
61 RUN_TEST(GetScopeID, filter);
88 } 62 }
89 63
90 std::string TestNetAddressPrivate::TestAreEqual() { 64 std::string TestNetAddressPrivate::TestAreEqual() {
91 // No comparisons should ever be done with invalid addresses. 65 // No comparisons should ever be done with invalid addresses.
92 PP_NetAddress_Private invalid = PP_NetAddress_Private(); 66 PP_NetAddress_Private invalid = PP_NetAddress_Private();
93 ASSERT_FALSE(NetAddressPrivate::AreEqual(invalid, invalid)); 67 ASSERT_FALSE(NetAddressPrivate::AreEqual(invalid, invalid));
94 68
95 PP_NetAddress_Private localhost_80 = MakeIPv4NetAddress("127.0.0.1", 80); 69 uint8_t localhost_ip[4] = {127, 0, 0, 1};
viettrungluu 2012/03/22 04:54:34 Nit (here and elsewhere): I think we usually want
Sergey Ulanov 2012/03/22 17:43:48 Done.
70 PP_NetAddress_Private localhost_80 = MakeIPv4NetAddress(localhost_ip, 80);
96 ASSERT_TRUE(NetAddressPrivate::AreEqual(localhost_80, localhost_80)); 71 ASSERT_TRUE(NetAddressPrivate::AreEqual(localhost_80, localhost_80));
97 ASSERT_FALSE(NetAddressPrivate::AreEqual(localhost_80, invalid)); 72 ASSERT_FALSE(NetAddressPrivate::AreEqual(localhost_80, invalid));
98 73
99 PP_NetAddress_Private localhost_1234 = MakeIPv4NetAddress("127.0.0.1", 1234); 74 PP_NetAddress_Private localhost_1234 = MakeIPv4NetAddress(localhost_ip, 1234);
100 ASSERT_FALSE(NetAddressPrivate::AreEqual(localhost_80, localhost_1234)); 75 ASSERT_FALSE(NetAddressPrivate::AreEqual(localhost_80, localhost_1234));
101 76
102 PP_NetAddress_Private other_80 = MakeIPv4NetAddress("192.168.0.1", 80); 77 uint8_t other_ip[4] = {192, 168, 0, 1};
78 PP_NetAddress_Private other_80 = MakeIPv4NetAddress(other_ip, 80);
103 ASSERT_FALSE(NetAddressPrivate::AreEqual(localhost_80, other_80)); 79 ASSERT_FALSE(NetAddressPrivate::AreEqual(localhost_80, other_80));
104 80
105 PASS(); 81 PASS();
106 } 82 }
107 83
108 std::string TestNetAddressPrivate::TestAreHostsEqual() { 84 std::string TestNetAddressPrivate::TestAreHostsEqual() {
109 // No comparisons should ever be done with invalid addresses. 85 // No comparisons should ever be done with invalid addresses.
110 PP_NetAddress_Private invalid = PP_NetAddress_Private(); 86 PP_NetAddress_Private invalid = PP_NetAddress_Private();
111 ASSERT_FALSE(NetAddressPrivate::AreHostsEqual(invalid, invalid)); 87 ASSERT_FALSE(NetAddressPrivate::AreHostsEqual(invalid, invalid));
112 88
113 PP_NetAddress_Private localhost_80 = MakeIPv4NetAddress("127.0.0.1", 80); 89 uint8_t localhost_ip[4] = {127, 0, 0, 1};
90 PP_NetAddress_Private localhost_80 = MakeIPv4NetAddress(localhost_ip, 80);
114 ASSERT_TRUE(NetAddressPrivate::AreHostsEqual(localhost_80, localhost_80)); 91 ASSERT_TRUE(NetAddressPrivate::AreHostsEqual(localhost_80, localhost_80));
115 ASSERT_FALSE(NetAddressPrivate::AreHostsEqual(localhost_80, invalid)); 92 ASSERT_FALSE(NetAddressPrivate::AreHostsEqual(localhost_80, invalid));
116 93
117 PP_NetAddress_Private localhost_1234 = MakeIPv4NetAddress("127.0.0.1", 1234); 94 PP_NetAddress_Private localhost_1234 = MakeIPv4NetAddress(localhost_ip, 1234);
118 ASSERT_TRUE(NetAddressPrivate::AreHostsEqual(localhost_80, localhost_1234)); 95 ASSERT_TRUE(NetAddressPrivate::AreHostsEqual(localhost_80, localhost_1234));
119 96
120 PP_NetAddress_Private other_80 = MakeIPv4NetAddress("192.168.0.1", 80); 97 uint8_t other_ip[4] = {192, 168, 0, 1};
98 PP_NetAddress_Private other_80 = MakeIPv4NetAddress(other_ip, 80);
121 ASSERT_FALSE(NetAddressPrivate::AreHostsEqual(localhost_80, other_80)); 99 ASSERT_FALSE(NetAddressPrivate::AreHostsEqual(localhost_80, other_80));
122 100
123 PASS(); 101 PASS();
124 } 102 }
125 103
126 std::string TestNetAddressPrivate::TestDescribe() { 104 std::string TestNetAddressPrivate::TestDescribe() {
127 PP_NetAddress_Private invalid = PP_NetAddress_Private(); 105 PP_NetAddress_Private invalid = PP_NetAddress_Private();
128 ASSERT_EQ("", NetAddressPrivate::Describe(invalid, false)); 106 ASSERT_EQ("", NetAddressPrivate::Describe(invalid, false));
129 ASSERT_EQ("", NetAddressPrivate::Describe(invalid, true)); 107 ASSERT_EQ("", NetAddressPrivate::Describe(invalid, true));
130 108
131 PP_NetAddress_Private localhost_80 = MakeIPv4NetAddress("127.0.0.1", 80); 109 uint8_t localhost_ip[4] = {127, 0, 0, 1};
110 PP_NetAddress_Private localhost_80 = MakeIPv4NetAddress(localhost_ip, 80);
132 ASSERT_EQ("127.0.0.1", NetAddressPrivate::Describe(localhost_80, false)); 111 ASSERT_EQ("127.0.0.1", NetAddressPrivate::Describe(localhost_80, false));
133 ASSERT_EQ("127.0.0.1:80", NetAddressPrivate::Describe(localhost_80, true)); 112 ASSERT_EQ("127.0.0.1:80", NetAddressPrivate::Describe(localhost_80, true));
134 113
135 PP_NetAddress_Private localhost_1234 = MakeIPv4NetAddress("127.0.0.1", 1234); 114 PP_NetAddress_Private localhost_1234 = MakeIPv4NetAddress(localhost_ip, 1234);
136 ASSERT_EQ("127.0.0.1", NetAddressPrivate::Describe(localhost_1234, false)); 115 ASSERT_EQ("127.0.0.1", NetAddressPrivate::Describe(localhost_1234, false));
137 ASSERT_EQ("127.0.0.1:1234", NetAddressPrivate::Describe(localhost_1234, 116 ASSERT_EQ("127.0.0.1:1234", NetAddressPrivate::Describe(localhost_1234,
138 true)); 117 true));
139 118
140 PP_NetAddress_Private other_80 = MakeIPv4NetAddress("192.168.0.1", 80); 119 uint8_t other_ip[4] = {192, 168, 0, 1};
120 PP_NetAddress_Private other_80 = MakeIPv4NetAddress(other_ip, 80);
141 ASSERT_EQ("192.168.0.1", NetAddressPrivate::Describe(other_80, false)); 121 ASSERT_EQ("192.168.0.1", NetAddressPrivate::Describe(other_80, false));
142 ASSERT_EQ("192.168.0.1:80", NetAddressPrivate::Describe(other_80, true)); 122 ASSERT_EQ("192.168.0.1:80", NetAddressPrivate::Describe(other_80, true));
143 123
144 PASS(); 124 PASS();
145 } 125 }
146 126
147 std::string TestNetAddressPrivate::TestReplacePort() { 127 std::string TestNetAddressPrivate::TestReplacePort() {
148 // Assume that |AreEqual()| works correctly. 128 // Assume that |AreEqual()| works correctly.
149 PP_NetAddress_Private result = PP_NetAddress_Private(); 129 PP_NetAddress_Private result = PP_NetAddress_Private();
150 130
151 PP_NetAddress_Private invalid = PP_NetAddress_Private(); 131 PP_NetAddress_Private invalid = PP_NetAddress_Private();
152 ASSERT_FALSE(NetAddressPrivate::ReplacePort(invalid, 1234, &result)); 132 ASSERT_FALSE(NetAddressPrivate::ReplacePort(invalid, 1234, &result));
153 133
154 PP_NetAddress_Private localhost_80 = MakeIPv4NetAddress("127.0.0.1", 80); 134 uint8_t localhost_ip[4] = {127, 0, 0, 1};
135 PP_NetAddress_Private localhost_80 = MakeIPv4NetAddress(localhost_ip, 80);
155 ASSERT_TRUE(NetAddressPrivate::ReplacePort(localhost_80, 1234, &result)); 136 ASSERT_TRUE(NetAddressPrivate::ReplacePort(localhost_80, 1234, &result));
156 PP_NetAddress_Private localhost_1234 = MakeIPv4NetAddress("127.0.0.1", 1234); 137 PP_NetAddress_Private localhost_1234 = MakeIPv4NetAddress(localhost_ip, 1234);
157 ASSERT_TRUE(NetAddressPrivate::AreEqual(result, localhost_1234)); 138 ASSERT_TRUE(NetAddressPrivate::AreEqual(result, localhost_1234));
158 139
159 // Test that having the out param being the same as the in param works 140 // Test that having the out param being the same as the in param works
160 // properly. 141 // properly.
161 ASSERT_TRUE(NetAddressPrivate::ReplacePort(result, 80, &result)); 142 ASSERT_TRUE(NetAddressPrivate::ReplacePort(result, 80, &result));
162 ASSERT_TRUE(NetAddressPrivate::AreEqual(result, localhost_80)); 143 ASSERT_TRUE(NetAddressPrivate::AreEqual(result, localhost_80));
163 144
164 PASS(); 145 PASS();
165 } 146 }
166 147
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 ASSERT_EQ(test_cases[i].expected_without_port, 225 ASSERT_EQ(test_cases[i].expected_without_port,
245 NetAddressPrivate::Describe(addr, false)); 226 NetAddressPrivate::Describe(addr, false));
246 ASSERT_EQ(test_cases[i].expected_with_port, 227 ASSERT_EQ(test_cases[i].expected_with_port,
247 NetAddressPrivate::Describe(addr, true)); 228 NetAddressPrivate::Describe(addr, true));
248 } 229 }
249 230
250 PASS(); 231 PASS();
251 } 232 }
252 233
253 std::string TestNetAddressPrivate::TestGetFamily() { 234 std::string TestNetAddressPrivate::TestGetFamily() {
254 PP_NetAddress_Private ipv4 = MakeIPv4NetAddress("127.0.0.1", 80); 235 uint8_t localhost_ip[4] = {127, 0, 0, 1};
236 PP_NetAddress_Private ipv4 = MakeIPv4NetAddress(localhost_ip, 80);
255 ASSERT_EQ(NetAddressPrivate::GetFamily(ipv4), PP_NETADDRESSFAMILY_IPV4); 237 ASSERT_EQ(NetAddressPrivate::GetFamily(ipv4), PP_NETADDRESSFAMILY_IPV4);
256 238
257 uint16_t ipv6_address[8] = { 0x1234, 0xabcd, 0, 0, 0xff, 0, 0, 0xcdef }; 239 uint16_t ipv6_address[8] = { 0x1234, 0xabcd, 0, 0, 0xff, 0, 0, 0xcdef };
258 PP_NetAddress_Private ipv6 = MakeIPv6NetAddress(ipv6_address, 240 PP_NetAddress_Private ipv6 = MakeIPv6NetAddress(ipv6_address, 123, 0);
259 123,
260 0);
261 ASSERT_EQ(NetAddressPrivate::GetFamily(ipv6), PP_NETADDRESSFAMILY_IPV6); 241 ASSERT_EQ(NetAddressPrivate::GetFamily(ipv6), PP_NETADDRESSFAMILY_IPV6);
262 242
263 PASS(); 243 PASS();
264 } 244 }
265 245
266 std::string TestNetAddressPrivate::TestGetPort() { 246 std::string TestNetAddressPrivate::TestGetPort() {
267 PP_NetAddress_Private localhost_80 = MakeIPv4NetAddress("127.0.0.1", 80); 247 uint8_t localhost_ip[4] = {127, 0, 0, 1};
248 PP_NetAddress_Private localhost_80 = MakeIPv4NetAddress(localhost_ip, 80);
268 ASSERT_EQ(NetAddressPrivate::GetPort(localhost_80), 80); 249 ASSERT_EQ(NetAddressPrivate::GetPort(localhost_80), 80);
269 250
270 uint16_t ipv6_address[8] = { 0x1234, 0xabcd, 0, 0, 0xff, 0, 0, 0xcdef }; 251 uint16_t ipv6_address[8] = { 0x1234, 0xabcd, 0, 0, 0xff, 0, 0, 0xcdef };
271 252
272 PP_NetAddress_Private port_123 = MakeIPv6NetAddress(ipv6_address, 123, 0); 253 PP_NetAddress_Private port_123 = MakeIPv6NetAddress(ipv6_address, 123, 0);
273 ASSERT_EQ(NetAddressPrivate::GetPort(port_123), 123); 254 ASSERT_EQ(NetAddressPrivate::GetPort(port_123), 123);
274 255
275 PP_NetAddress_Private port_FFFF = MakeIPv6NetAddress(ipv6_address, 256 PP_NetAddress_Private port_FFFF = MakeIPv6NetAddress(ipv6_address,
276 0xFFFF, 257 0xFFFF,
277 0); 258 0);
278 ASSERT_EQ(NetAddressPrivate::GetPort(port_FFFF), 0xFFFF); 259 ASSERT_EQ(NetAddressPrivate::GetPort(port_FFFF), 0xFFFF);
279 260
280 PASS(); 261 PASS();
281 } 262 }
282 263
283 std::string TestNetAddressPrivate::TestGetAddress() { 264 std::string TestNetAddressPrivate::TestGetAddress() {
284 const int addr_storage_len = 16; 265 const int addr_storage_len = 16;
285 unsigned char addr_storage[addr_storage_len]; 266 unsigned char addr_storage[addr_storage_len];
286 267
287 const char* ipv4_addr = "127.0.0.1"; 268 const uint8_t ipv4_addr[4] = {127, 0, 0, 1};
288 uint32_t ipv4_addr_long = inet_addr(ipv4_addr);
289 PP_NetAddress_Private localhost_80 = MakeIPv4NetAddress(ipv4_addr, 80); 269 PP_NetAddress_Private localhost_80 = MakeIPv4NetAddress(ipv4_addr, 80);
290 memset(addr_storage, 0, addr_storage_len); 270 memset(addr_storage, 0, addr_storage_len);
291 ASSERT_TRUE(NetAddressPrivate::GetAddress(localhost_80, 271 ASSERT_TRUE(NetAddressPrivate::GetAddress(localhost_80,
292 addr_storage, 272 addr_storage,
293 addr_storage_len)); 273 addr_storage_len));
294 ASSERT_EQ(memcmp(addr_storage, &ipv4_addr_long, 4), 0); 274 ASSERT_EQ(memcmp(addr_storage, &ipv4_addr, 4), 0);
295 275
296 // Insufficient storage for address. 276 // Insufficient storage for address.
297 ASSERT_FALSE(NetAddressPrivate::GetAddress(localhost_80, 277 ASSERT_FALSE(NetAddressPrivate::GetAddress(localhost_80,
298 addr_storage, 278 addr_storage,
299 1)); 279 1));
300 280
301 uint16_t ipv6_address[8] = { 0x1234, 0xabcd, 0, 0, 0xff, 0, 0, 0xcdef }; 281 uint16_t ipv6_address[8] = { 0x1234, 0xabcd, 0, 0, 0xff, 0, 0, 0xcdef };
302 PP_NetAddress_Private ipv6_addr = MakeIPv6NetAddress(ipv6_address, 282 PP_NetAddress_Private ipv6_addr = MakeIPv6NetAddress(ipv6_address,
303 123, 283 123,
304 0); 284 0);
305 285
306 // Ensure the ipv6 address is transformed properly into network order. 286 // Ensure the ipv6 address is transformed properly into network order.
307 for (int i = 0; i < 8; i++) 287 uint8_t ipv6_bytes[16];
308 ipv6_address[i] = htons(ipv6_address[i]); 288 for(int i = 0; i < 8; ++i) {
289 ipv6_bytes[i * 2] = ipv6_address[i] >> 8;
290 ipv6_bytes[i * 2 + 1] = ipv6_address[i] & 0xFF;
291 }
309 292
310 memset(addr_storage, 0, addr_storage_len); 293 memset(addr_storage, 0, addr_storage_len);
311 ASSERT_TRUE(NetAddressPrivate::GetAddress(ipv6_addr, 294 ASSERT_TRUE(NetAddressPrivate::GetAddress(ipv6_addr,
312 addr_storage, 295 addr_storage,
313 addr_storage_len)); 296 addr_storage_len));
314 ASSERT_EQ(memcmp(addr_storage, ipv6_address, 16), 0); 297 ASSERT_EQ(memcmp(addr_storage, ipv6_bytes, 16), 0);
315 298
316 // Insufficient storage for address. 299 // Insufficient storage for address.
317 ASSERT_FALSE(NetAddressPrivate::GetAddress(ipv6_addr, 300 ASSERT_FALSE(NetAddressPrivate::GetAddress(ipv6_addr,
318 addr_storage, 301 addr_storage,
319 1)); 302 1));
320 303
321 PASS(); 304 PASS();
322 } 305 }
306
307 std::string TestNetAddressPrivate::TestGetScopeID() {
308 uint8_t localhost_ip[4] = {127, 0, 0, 1};
309 PP_NetAddress_Private ipv4 = MakeIPv4NetAddress(localhost_ip, 80);
310 ASSERT_EQ(NetAddressPrivate::GetScopeID(ipv4), 0);
311
312 uint16_t ipv6_address[8] = { 0x1234, 0xabcd, 0, 0, 0xff, 0, 0, 0xcdef };
313
314 PP_NetAddress_Private ipv6_123 = MakeIPv6NetAddress(ipv6_address, 0, 123);
315 ASSERT_EQ(NetAddressPrivate::GetScopeID(ipv6_123), 123);
316
317 PP_NetAddress_Private ipv6_max =
318 MakeIPv6NetAddress(ipv6_address, 0, 0xFFFFFFFF);
319 ASSERT_EQ(NetAddressPrivate::GetScopeID(ipv6_max), 0xFFFFFFFF);
320
321 PASS();
322 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698