OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/browser/policy/url_blacklist_manager.h" | 5 #include "chrome/browser/policy/url_blacklist_manager.h" |
6 | 6 |
7 #include <ostream> | 7 #include <ostream> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 } | 243 } |
244 | 244 |
245 TEST_F(URLBlacklistManagerTest, SchemeToFlag) { | 245 TEST_F(URLBlacklistManagerTest, SchemeToFlag) { |
246 URLBlacklist::SchemeFlag flag; | 246 URLBlacklist::SchemeFlag flag; |
247 EXPECT_TRUE(URLBlacklist::SchemeToFlag("http", &flag)); | 247 EXPECT_TRUE(URLBlacklist::SchemeToFlag("http", &flag)); |
248 EXPECT_EQ(URLBlacklist::SCHEME_HTTP, flag); | 248 EXPECT_EQ(URLBlacklist::SCHEME_HTTP, flag); |
249 EXPECT_TRUE(URLBlacklist::SchemeToFlag("https", &flag)); | 249 EXPECT_TRUE(URLBlacklist::SchemeToFlag("https", &flag)); |
250 EXPECT_EQ(URLBlacklist::SCHEME_HTTPS, flag); | 250 EXPECT_EQ(URLBlacklist::SCHEME_HTTPS, flag); |
251 EXPECT_TRUE(URLBlacklist::SchemeToFlag("ftp", &flag)); | 251 EXPECT_TRUE(URLBlacklist::SchemeToFlag("ftp", &flag)); |
252 EXPECT_EQ(URLBlacklist::SCHEME_FTP, flag); | 252 EXPECT_EQ(URLBlacklist::SCHEME_FTP, flag); |
| 253 EXPECT_TRUE(URLBlacklist::SchemeToFlag("ws", &flag)); |
| 254 EXPECT_EQ(URLBlacklist::SCHEME_WS, flag); |
| 255 EXPECT_TRUE(URLBlacklist::SchemeToFlag("wss", &flag)); |
| 256 EXPECT_EQ(URLBlacklist::SCHEME_WSS, flag); |
253 EXPECT_TRUE(URLBlacklist::SchemeToFlag("", &flag)); | 257 EXPECT_TRUE(URLBlacklist::SchemeToFlag("", &flag)); |
254 EXPECT_EQ(URLBlacklist::SCHEME_ALL, flag); | 258 EXPECT_EQ(URLBlacklist::SCHEME_ALL, flag); |
255 EXPECT_FALSE(URLBlacklist::SchemeToFlag("wtf", &flag)); | 259 EXPECT_FALSE(URLBlacklist::SchemeToFlag("wtf", &flag)); |
256 } | 260 } |
257 | 261 |
258 INSTANTIATE_TEST_CASE_P( | 262 INSTANTIATE_TEST_CASE_P( |
259 URLBlacklistFilterToComponentsTestInstance, | 263 URLBlacklistFilterToComponentsTestInstance, |
260 URLBlacklistFilterToComponentsTest, | 264 URLBlacklistFilterToComponentsTest, |
261 testing::Values( | 265 testing::Values( |
262 FilterTestParams("google.com", | 266 FilterTestParams("google.com", |
(...skipping 30 matching lines...) Expand all Loading... |
293 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://google.com/"))); | 297 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://google.com/"))); |
294 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://google.com/whatever"))); | 298 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://google.com/whatever"))); |
295 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://google.com/"))); | 299 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://google.com/"))); |
296 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("bogus://google.com/"))); | 300 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("bogus://google.com/"))); |
297 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://mail.google.com"))); | 301 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://mail.google.com"))); |
298 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://x.mail.google.com"))); | 302 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://x.mail.google.com"))); |
299 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://x.mail.google.com/"))); | 303 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://x.mail.google.com/"))); |
300 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://x.y.google.com/a/b"))); | 304 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://x.y.google.com/a/b"))); |
301 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("http://youtube.com/"))); | 305 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("http://youtube.com/"))); |
302 | 306 |
303 // Filter only http and ftp schemes. | 307 // Filter only http, ftp and ws schemes. |
304 blacklist.Block("http://secure.com"); | 308 blacklist.Block("http://secure.com"); |
305 blacklist.Block("ftp://secure.com"); | 309 blacklist.Block("ftp://secure.com"); |
| 310 blacklist.Block("ws://secure.com"); |
306 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://secure.com"))); | 311 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://secure.com"))); |
307 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://secure.com/whatever"))); | 312 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://secure.com/whatever"))); |
308 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("ftp://secure.com/"))); | 313 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("ftp://secure.com/"))); |
| 314 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("ws://secure.com"))); |
309 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://secure.com/"))); | 315 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://secure.com/"))); |
| 316 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("wss://secure.com"))); |
310 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://www.secure.com"))); | 317 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://www.secure.com"))); |
311 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://www.secure.com"))); | 318 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://www.secure.com"))); |
| 319 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("wss://www.secure.com"))); |
312 | 320 |
313 // Filter only a certain path prefix. | 321 // Filter only a certain path prefix. |
314 blacklist.Block("path.to/ruin"); | 322 blacklist.Block("path.to/ruin"); |
315 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://path.to/ruin"))); | 323 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://path.to/ruin"))); |
316 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://path.to/ruin"))); | 324 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://path.to/ruin"))); |
317 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://path.to/ruins"))); | 325 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://path.to/ruins"))); |
318 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://path.to/ruin/signup"))); | 326 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://path.to/ruin/signup"))); |
319 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://www.path.to/ruin"))); | 327 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://www.path.to/ruin"))); |
320 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("http://path.to/fortune"))); | 328 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("http://path.to/fortune"))); |
321 | 329 |
322 // Filter only a certain path prefix and scheme. | 330 // Filter only a certain path prefix and scheme. |
323 blacklist.Block("https://s.aaa.com/path"); | 331 blacklist.Block("https://s.aaa.com/path"); |
324 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://s.aaa.com/path"))); | 332 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://s.aaa.com/path"))); |
325 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://s.aaa.com/path/bbb"))); | 333 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://s.aaa.com/path/bbb"))); |
326 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("http://s.aaa.com/path"))); | 334 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("http://s.aaa.com/path"))); |
327 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://aaa.com/path"))); | 335 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://aaa.com/path"))); |
328 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://x.aaa.com/path"))); | 336 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://x.aaa.com/path"))); |
329 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://s.aaa.com/bbb"))); | 337 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://s.aaa.com/bbb"))); |
330 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://s.aaa.com/"))); | 338 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://s.aaa.com/"))); |
331 | 339 |
| 340 // Filter only ws and wss schemes. |
| 341 blacklist.Block("ws://ws.aaa.com"); |
| 342 blacklist.Block("wss://ws.aaa.com"); |
| 343 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("ws://ws.aaa.com"))); |
| 344 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("wss://ws.aaa.com"))); |
| 345 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("http://ws.aaa.com"))); |
| 346 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://ws.aaa.com"))); |
| 347 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("ftp://ws.aaa.com"))); |
| 348 |
332 // Test exceptions to path prefixes, and most specific matches. | 349 // Test exceptions to path prefixes, and most specific matches. |
333 blacklist.Block("s.xxx.com/a"); | 350 blacklist.Block("s.xxx.com/a"); |
334 blacklist.Allow("s.xxx.com/a/b"); | 351 blacklist.Allow("s.xxx.com/a/b"); |
335 blacklist.Block("https://s.xxx.com/a/b/c"); | 352 blacklist.Block("https://s.xxx.com/a/b/c"); |
336 blacklist.Allow("https://s.xxx.com/a/b/c/d"); | 353 blacklist.Allow("https://s.xxx.com/a/b/c/d"); |
337 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://s.xxx.com/a"))); | 354 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://s.xxx.com/a"))); |
338 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://s.xxx.com/a/x"))); | 355 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://s.xxx.com/a/x"))); |
339 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://s.xxx.com/a/x"))); | 356 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://s.xxx.com/a/x"))); |
340 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("http://s.xxx.com/a/b"))); | 357 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("http://s.xxx.com/a/b"))); |
341 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://s.xxx.com/a/b"))); | 358 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://s.xxx.com/a/b"))); |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
406 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://mail.google.com"))); | 423 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://mail.google.com"))); |
407 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://s.mail.google.com"))); | 424 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://s.mail.google.com"))); |
408 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://very.safe/"))); | 425 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("https://very.safe/"))); |
409 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://very.safe/path"))); | 426 EXPECT_TRUE(blacklist.IsURLBlocked(GURL("http://very.safe/path"))); |
410 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://very.safe/path"))); | 427 EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://very.safe/path"))); |
411 } | 428 } |
412 | 429 |
413 } // namespace | 430 } // namespace |
414 | 431 |
415 } // namespace policy | 432 } // namespace policy |
OLD | NEW |