OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/base/net_util.h" | 5 #include "net/base/net_util.h" |
6 | 6 |
7 #include "base/file_path.h" | 7 #include "base/file_path.h" |
8 #include "base/format_macros.h" | 8 #include "base/format_macros.h" |
9 #include "base/string_util.h" | 9 #include "base/string_util.h" |
10 #include "base/sys_string_conversions.h" | 10 #include "base/sys_string_conversions.h" |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 false, false, false, false, false, | 121 false, false, false, false, false, |
122 false, false, false, true, false, | 122 false, false, false, true, false, |
123 false}}, | 123 false}}, |
124 // Katakana including U+30FC | 124 // Katakana including U+30FC |
125 {"xn--tckm4i2e.jp", L"\x30b3\x30de\x30fc\x30b9.jp", | 125 {"xn--tckm4i2e.jp", L"\x30b3\x30de\x30fc\x30b9.jp", |
126 {true, false, false, true, false, | 126 {true, false, false, true, false, |
127 false, false, false, false, false, | 127 false, false, false, false, false, |
128 false, false, false, false, false, | 128 false, false, false, false, false, |
129 false, false, false, true, false, | 129 false, false, false, true, false, |
130 }}, | 130 }}, |
| 131 {"xn--3ck7a7g.jp", L"\u30ce\u30f3\u30bd.jp", |
| 132 {true, false, false, true, false, |
| 133 false, false, false, false, false, |
| 134 false, false, false, false, false, |
| 135 false, false, false, true, false, |
| 136 }}, |
131 // Katakana + Latin (Japanese) | 137 // Katakana + Latin (Japanese) |
132 // TODO(jungshik): Change 'false' in the first element to 'true' | 138 // TODO(jungshik): Change 'false' in the first element to 'true' |
133 // after upgrading to ICU 4.2.1 to use new uspoof_* APIs instead | 139 // after upgrading to ICU 4.2.1 to use new uspoof_* APIs instead |
134 // of our IsIDNComponentInSingleScript(). | 140 // of our IsIDNComponentInSingleScript(). |
135 {"xn--e-efusa1mzf.jp", L"e\x30b3\x30de\x30fc\x30b9.jp", | 141 {"xn--e-efusa1mzf.jp", L"e\x30b3\x30de\x30fc\x30b9.jp", |
136 {false, false, false, true, false, | 142 {false, false, false, true, false, |
137 false, false, false, false, false, | 143 false, false, false, false, false, |
138 false, false, false, false, false, | 144 false, false, false, false, false, |
139 false, false, false, true, false, | 145 false, false, false, true, false, |
140 }}, | 146 }}, |
| 147 {"xn--3bkxe.jp", L"\x30c8\x309a.jp", |
| 148 {false, false, false, true, false, |
| 149 false, false, false, false, false, |
| 150 false, false, false, false, false, |
| 151 false, false, false, true, false, |
| 152 }}, |
141 // Hangul (Korean) | 153 // Hangul (Korean) |
142 {"www.xn--or3b17p6jjc.kr", L"www.\xc804\xc790\xc815\xbd80.kr", | 154 {"www.xn--or3b17p6jjc.kr", L"www.\xc804\xc790\xc815\xbd80.kr", |
143 {true, false, false, false, true, | 155 {true, false, false, false, true, |
144 false, false, false, false, false, | 156 false, false, false, false, false, |
145 false, false, false, false, false, | 157 false, false, false, false, false, |
146 false, false, false, true, false, | 158 false, false, false, true, false, |
147 false}}, | 159 false}}, |
148 // b<u-umlaut>cher (German) | 160 // b<u-umlaut>cher (German) |
149 {"xn--bcher-kva.de", L"b\x00fc" L"cher.de", | 161 {"xn--bcher-kva.de", L"b\x00fc" L"cher.de", |
150 {true, false, false, false, false, | 162 {true, false, false, false, false, |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
315 {false, false, false, false, false, | 327 {false, false, false, false, false, |
316 false, false, false, false, false, | 328 false, false, false, false, false, |
317 false, false, false, false, false, | 329 false, false, false, false, false, |
318 false, false, false, false, false, | 330 false, false, false, false, false, |
319 }}, | 331 }}, |
320 {"google.xn--comabc-k8d", L"google.com\x0338" L"abc", | 332 {"google.xn--comabc-k8d", L"google.com\x0338" L"abc", |
321 {false, false, false, false, false, | 333 {false, false, false, false, false, |
322 false, false, false, false, false, | 334 false, false, false, false, false, |
323 false, false, false, false, false, | 335 false, false, false, false, false, |
324 false, false, false, false, false, | 336 false, false, false, false, false, |
325 }}, | 337 }}, |
| 338 {"google.xn--com-oh4ba.evil.jp", L"google.com\x309a\x309a.evil.jp", |
| 339 {false, false, false, false, false, |
| 340 false, false, false, false, false, |
| 341 false, false, false, false, false, |
| 342 false, false, false, false, false, |
| 343 }}, |
| 344 {"google.xn--comevil-v04f.jp", L"google.com\x30ce" L"evil.jp", |
| 345 {false, false, false, false, false, |
| 346 false, false, false, false, false, |
| 347 false, false, false, false, false, |
| 348 false, false, false, false, false, |
| 349 }}, |
326 #if 0 | 350 #if 0 |
327 // These two cases are special. We need a separate test. | 351 // These two cases are special. We need a separate test. |
328 // U+3000 and U+3002 are normalized to ASCII space and dot. | 352 // U+3000 and U+3002 are normalized to ASCII space and dot. |
329 {"xn-- -kq6ay5z.cn", L"\x4e2d\x56fd\x3000.cn", | 353 {"xn-- -kq6ay5z.cn", L"\x4e2d\x56fd\x3000.cn", |
330 {false, false, true, false, false, | 354 {false, false, true, false, false, |
331 false, false, false, false, false, | 355 false, false, false, false, false, |
332 false, false, false, false, false, | 356 false, false, false, false, false, |
333 false, false, true, false, false, | 357 false, false, true, false, false, |
334 true}}, | 358 true}}, |
335 {"xn--fiqs8s.cn", L"\x4e2d\x56fd\x3002" L"cn", | 359 {"xn--fiqs8s.cn", L"\x4e2d\x56fd\x3002" L"cn", |
(...skipping 1661 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1997 EXPECT_TRUE(net::ParseCIDRBlock(tests[i].cidr_literal, | 2021 EXPECT_TRUE(net::ParseCIDRBlock(tests[i].cidr_literal, |
1998 &ip_prefix, | 2022 &ip_prefix, |
1999 &prefix_length_in_bits)); | 2023 &prefix_length_in_bits)); |
2000 | 2024 |
2001 EXPECT_EQ(tests[i].expected_to_match, | 2025 EXPECT_EQ(tests[i].expected_to_match, |
2002 net::IPNumberMatchesPrefix(ip_number, | 2026 net::IPNumberMatchesPrefix(ip_number, |
2003 ip_prefix, | 2027 ip_prefix, |
2004 prefix_length_in_bits)); | 2028 prefix_length_in_bits)); |
2005 } | 2029 } |
2006 } | 2030 } |
OLD | NEW |