| Index: chrome/common/content_settings_pattern_parser_unittest.cc
|
| diff --git a/chrome/common/content_settings_pattern_parser_unittest.cc b/chrome/common/content_settings_pattern_parser_unittest.cc
|
| index b6d5f34f6812abef4745058e6d14b72c113c9af4..299f9c313b9479f0fcbcc5d0200e11ca4a0c7143 100644
|
| --- a/chrome/common/content_settings_pattern_parser_unittest.cc
|
| +++ b/chrome/common/content_settings_pattern_parser_unittest.cc
|
| @@ -2,9 +2,10 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "chrome/common/content_settings_pattern.h"
|
| #include "chrome/common/content_settings_pattern_parser.h"
|
|
|
| +#include "chrome/common/chrome_content_settings_client.h"
|
| +#include "chrome/common/content_settings_pattern.h"
|
| #include "testing/gmock/include/gmock/gmock.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| @@ -27,6 +28,7 @@ class MockBuilder : public ContentSettingsPattern::BuilderInterface {
|
| };
|
|
|
| TEST(ContentSettingsPatternParserTest, ParsePatterns) {
|
| + content_settings::ChromeContentSettingsClient client;
|
| // Test valid patterns
|
| ::testing::StrictMock<MockBuilder> builder;
|
|
|
| @@ -38,7 +40,7 @@ TEST(ContentSettingsPatternParserTest, ParsePatterns) {
|
| ::testing::Return(&builder));
|
| EXPECT_CALL(builder, WithPortWildcard()).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| - content_settings::PatternParser::Parse("*", &builder);
|
| + content_settings::PatternParser::Parse(&client, "*", &builder);
|
| ::testing::Mock::VerifyAndClear(&builder);
|
|
|
| EXPECT_CALL(builder, WithScheme("http")).Times(1).WillOnce(
|
| @@ -47,8 +49,9 @@ TEST(ContentSettingsPatternParserTest, ParsePatterns) {
|
| ::testing::Return(&builder));
|
| EXPECT_CALL(builder, WithPort("8080")).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| - content_settings::PatternParser::Parse(
|
| - "http://www.youtube.com:8080", &builder);
|
| + content_settings::PatternParser::Parse(&client,
|
| + "http://www.youtube.com:8080",
|
| + &builder);
|
| ::testing::Mock::VerifyAndClear(&builder);
|
|
|
| EXPECT_CALL(builder, WithSchemeWildcard()).Times(1).WillOnce(
|
| @@ -57,7 +60,9 @@ TEST(ContentSettingsPatternParserTest, ParsePatterns) {
|
| ::testing::Return(&builder));
|
| EXPECT_CALL(builder, WithPort("80")).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| - content_settings::PatternParser::Parse("*://www.gmail.com:80", &builder);
|
| + content_settings::PatternParser::Parse(&client,
|
| + "*://www.gmail.com:80",
|
| + &builder);
|
| ::testing::Mock::VerifyAndClear(&builder);
|
|
|
| EXPECT_CALL(builder, WithScheme("http")).Times(1).WillOnce(
|
| @@ -66,7 +71,9 @@ TEST(ContentSettingsPatternParserTest, ParsePatterns) {
|
| ::testing::Return(&builder));
|
| EXPECT_CALL(builder, WithPortWildcard()).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| - content_settings::PatternParser::Parse("http://www.gmail.com:*", &builder);
|
| + content_settings::PatternParser::Parse(&client,
|
| + "http://www.gmail.com:*",
|
| + &builder);
|
| ::testing::Mock::VerifyAndClear(&builder);
|
|
|
| EXPECT_CALL(builder, WithScheme("http")).Times(1).WillOnce(
|
| @@ -77,7 +84,9 @@ TEST(ContentSettingsPatternParserTest, ParsePatterns) {
|
| ::testing::Return(&builder));
|
| EXPECT_CALL(builder, WithPort("80")).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| - content_settings::PatternParser::Parse("http://[*.]google.com:80", &builder);
|
| + content_settings::PatternParser::Parse(&client,
|
| + "http://[*.]google.com:80",
|
| + &builder);
|
| ::testing::Mock::VerifyAndClear(&builder);
|
|
|
| EXPECT_CALL(builder, WithScheme("https")).Times(1).WillOnce(
|
| @@ -86,7 +95,9 @@ TEST(ContentSettingsPatternParserTest, ParsePatterns) {
|
| ::testing::Return(&builder));
|
| EXPECT_CALL(builder, WithPort("8080")).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| - content_settings::PatternParser::Parse("https://[::1]:8080", &builder);
|
| + content_settings::PatternParser::Parse(&client,
|
| + "https://[::1]:8080",
|
| + &builder);
|
| ::testing::Mock::VerifyAndClear(&builder);
|
|
|
| EXPECT_CALL(builder, WithScheme("http")).Times(1).WillOnce(
|
| @@ -95,7 +106,9 @@ TEST(ContentSettingsPatternParserTest, ParsePatterns) {
|
| ::testing::Return(&builder));
|
| EXPECT_CALL(builder, WithPort("8080")).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| - content_settings::PatternParser::Parse("http://127.0.0.1:8080", &builder);
|
| + content_settings::PatternParser::Parse(&client,
|
| + "http://127.0.0.1:8080",
|
| + &builder);
|
| ::testing::Mock::VerifyAndClear(&builder);
|
|
|
| // Test valid pattern short forms
|
| @@ -105,7 +118,9 @@ TEST(ContentSettingsPatternParserTest, ParsePatterns) {
|
| ::testing::Return(&builder));
|
| EXPECT_CALL(builder, WithPort("8080")).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| - content_settings::PatternParser::Parse("www.youtube.com:8080", &builder);
|
| + content_settings::PatternParser::Parse(&client,
|
| + "www.youtube.com:8080",
|
| + &builder);
|
| ::testing::Mock::VerifyAndClear(&builder);
|
|
|
| EXPECT_CALL(builder, WithSchemeWildcard()).Times(1).WillOnce(
|
| @@ -114,7 +129,7 @@ TEST(ContentSettingsPatternParserTest, ParsePatterns) {
|
| ::testing::Return(&builder));
|
| EXPECT_CALL(builder, WithPortWildcard()).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| - content_settings::PatternParser::Parse("www.youtube.com", &builder);
|
| + content_settings::PatternParser::Parse(&client, "www.youtube.com", &builder);
|
| ::testing::Mock::VerifyAndClear(&builder);
|
|
|
| EXPECT_CALL(builder, WithSchemeWildcard()).Times(1).WillOnce(
|
| @@ -125,7 +140,7 @@ TEST(ContentSettingsPatternParserTest, ParsePatterns) {
|
| ::testing::Return(&builder));
|
| EXPECT_CALL(builder, WithPortWildcard()).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| - content_settings::PatternParser::Parse("[*.]youtube.com", &builder);
|
| + content_settings::PatternParser::Parse(&client, "[*.]youtube.com", &builder);
|
| ::testing::Mock::VerifyAndClear(&builder);
|
|
|
| // Test invalid patterns
|
| @@ -133,41 +148,44 @@ TEST(ContentSettingsPatternParserTest, ParsePatterns) {
|
| ::testing::Return(&builder));
|
| EXPECT_CALL(builder, Invalid()).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| - content_settings::PatternParser::Parse("*youtube.com", &builder);
|
| + content_settings::PatternParser::Parse(&client, "*youtube.com", &builder);
|
| ::testing::Mock::VerifyAndClear(&builder);
|
|
|
| EXPECT_CALL(builder, WithSchemeWildcard()).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| EXPECT_CALL(builder, Invalid()).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| - content_settings::PatternParser::Parse("*.youtube.com", &builder);
|
| + content_settings::PatternParser::Parse(&client, "*.youtube.com", &builder);
|
| ::testing::Mock::VerifyAndClear(&builder);
|
|
|
| EXPECT_CALL(builder, WithSchemeWildcard()).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| EXPECT_CALL(builder, Invalid()).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| - content_settings::PatternParser::Parse("www.youtube.com*", &builder);
|
| + content_settings::PatternParser::Parse(&client,"www.youtube.com*", &builder);
|
| ::testing::Mock::VerifyAndClear(&builder);
|
| }
|
|
|
| TEST(ContentSettingsPatternParserTest, ParseFilePatterns) {
|
| + content_settings::ChromeContentSettingsClient client;
|
| ::testing::StrictMock<MockBuilder> builder;
|
|
|
| EXPECT_CALL(builder, WithScheme("file")).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| EXPECT_CALL(builder, WithPath("/foo/bar/test.html")).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| - content_settings::PatternParser::Parse(
|
| - "file:///foo/bar/test.html", &builder);
|
| + content_settings::PatternParser::Parse(&client,
|
| + "file:///foo/bar/test.html",
|
| + &builder);
|
| ::testing::Mock::VerifyAndClear(&builder);
|
|
|
| EXPECT_CALL(builder, WithScheme("file")).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| EXPECT_CALL(builder, WithDomainWildcard()).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| - content_settings::PatternParser::Parse(
|
| - "file://*", &builder);
|
| + content_settings::PatternParser::Parse(&client,
|
| + "file://*",
|
| + &builder);
|
| ::testing::Mock::VerifyAndClear(&builder);
|
|
|
| EXPECT_CALL(builder, WithScheme("file")).Times(1).WillOnce(
|
| @@ -176,8 +194,9 @@ TEST(ContentSettingsPatternParserTest, ParseFilePatterns) {
|
| ::testing::Return(&builder));
|
| EXPECT_CALL(builder, WithPath("/")).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| - content_settings::PatternParser::Parse(
|
| - "file://*/", &builder);
|
| + content_settings::PatternParser::Parse(&client,
|
| + "file://*/",
|
| + &builder);
|
| ::testing::Mock::VerifyAndClear(&builder);
|
|
|
| EXPECT_CALL(builder, WithScheme("file")).Times(1).WillOnce(
|
| @@ -186,16 +205,18 @@ TEST(ContentSettingsPatternParserTest, ParseFilePatterns) {
|
| ::testing::Return(&builder));
|
| EXPECT_CALL(builder, WithPathWildcard()).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| - content_settings::PatternParser::Parse(
|
| - "file://*/*", &builder);
|
| + content_settings::PatternParser::Parse(&client,
|
| + "file://*/*",
|
| + &builder);
|
| ::testing::Mock::VerifyAndClear(&builder);
|
|
|
| EXPECT_CALL(builder, WithScheme("file")).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| EXPECT_CALL(builder, WithPathWildcard()).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| - content_settings::PatternParser::Parse(
|
| - "file:///*", &builder);
|
| + content_settings::PatternParser::Parse(&client,
|
| + "file:///*",
|
| + &builder);
|
| ::testing::Mock::VerifyAndClear(&builder);
|
|
|
| // Invalid file patterns.
|
| @@ -203,28 +224,33 @@ TEST(ContentSettingsPatternParserTest, ParseFilePatterns) {
|
| ::testing::Return(&builder));
|
| EXPECT_CALL(builder, Invalid()).Times(1).WillOnce(
|
| ::testing::Return(&builder));
|
| - content_settings::PatternParser::Parse(
|
| - "file://**", &builder);
|
| + content_settings::PatternParser::Parse(&client,
|
| + "file://**",
|
| + &builder);
|
| ::testing::Mock::VerifyAndClear(&builder);
|
| }
|
|
|
| TEST(ContentSettingsPatternParserTest, SerializePatterns) {
|
| + content_settings::ChromeContentSettingsClient client;
|
| ContentSettingsPattern::PatternParts parts;
|
| parts.scheme = "http";
|
| parts.host = "www.youtube.com";
|
| parts.port = "8080";
|
| EXPECT_STREQ("http://www.youtube.com:8080",
|
| - content_settings::PatternParser::ToString(parts).c_str());
|
| + content_settings::PatternParser::ToString(&client,
|
| + parts).c_str());
|
|
|
| parts = ContentSettingsPattern::PatternParts();
|
| parts.scheme = "file";
|
| parts.path = "/foo/bar/test.html";
|
| EXPECT_STREQ("file:///foo/bar/test.html",
|
| - content_settings::PatternParser::ToString(parts).c_str());
|
| + content_settings::PatternParser::ToString(&client,
|
| + parts).c_str());
|
|
|
| parts = ContentSettingsPattern::PatternParts();
|
| parts.scheme = "file";
|
| parts.path = "";
|
| parts.is_path_wildcard = true;
|
| - EXPECT_EQ("file:///*", content_settings::PatternParser::ToString(parts));
|
| + EXPECT_EQ("file:///*", content_settings::PatternParser::ToString(&client,
|
| + parts));
|
| }
|
|
|