| Index: chrome/common/extensions/extension_unittest.cc
|
| ===================================================================
|
| --- chrome/common/extensions/extension_unittest.cc (revision 56058)
|
| +++ chrome/common/extensions/extension_unittest.cc (working copy)
|
| @@ -26,6 +26,8 @@
|
| #include "gfx/codec/png_codec.h"
|
| #include "net/base/mime_sniffer.h"
|
| #include "skia/ext/image_operations.h"
|
| +#include "chrome/test/ui_test_utils.h"
|
| +#include "net/base/mock_host_resolver.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| namespace keys = extension_manifest_keys;
|
| @@ -317,10 +319,10 @@
|
| ListValue* permissions = new ListValue;
|
| permissions->Set(0, Value::CreateStringValue("file:///C:/foo.txt"));
|
| input_value.Set(keys::kPermissions, permissions);
|
| - EXPECT_FALSE(extension.InitFromValue(input_value, false, &error));
|
| - EXPECT_TRUE(MatchPatternASCII(error, errors::kInvalidPermission));
|
| - input_value.Remove(keys::kPermissions, NULL);
|
| - error.clear();
|
| + EXPECT_FALSE(extension.InitFromValue(input_value, false, &error));
|
| + EXPECT_TRUE(MatchPatternASCII(error, errors::kInvalidPermission));
|
| + input_value.Remove(keys::kPermissions, NULL);
|
| + error.clear();
|
|
|
| // Test with an options page.
|
| input_value.SetString(keys::kOptionsPage, "options.html");
|
| @@ -730,85 +732,85 @@
|
|
|
| TEST(ExtensionTest, EffectiveHostPermissions) {
|
| scoped_ptr<Extension> extension;
|
| - std::set<std::string> hosts;
|
| + ExtensionExtent hosts;
|
|
|
| extension.reset(LoadManifest("effective_host_permissions", "empty.json"));
|
| - EXPECT_EQ(0u, extension->GetEffectiveHostPermissions().size());
|
| + EXPECT_EQ(0u, extension->GetEffectiveHostPermissions().patterns().size());
|
| EXPECT_FALSE(extension->HasAccessToAllHosts());
|
|
|
| extension.reset(LoadManifest("effective_host_permissions", "one_host.json"));
|
| hosts = extension->GetEffectiveHostPermissions();
|
| - EXPECT_EQ(1u, hosts.size());
|
| - EXPECT_TRUE(hosts.find("www.google.com") != hosts.end());
|
| + EXPECT_EQ(1u, hosts.patterns().size());
|
| + EXPECT_TRUE(hosts.ContainsURL(GURL("http://www.google.com")));
|
| EXPECT_FALSE(extension->HasAccessToAllHosts());
|
|
|
| extension.reset(LoadManifest("effective_host_permissions",
|
| "one_host_wildcard.json"));
|
| hosts = extension->GetEffectiveHostPermissions();
|
| - EXPECT_EQ(1u, hosts.size());
|
| - EXPECT_TRUE(hosts.find("google.com") != hosts.end());
|
| + EXPECT_EQ(1u, hosts.patterns().size());
|
| + EXPECT_TRUE(hosts.ContainsURL(GURL("http://google.com")));
|
| EXPECT_FALSE(extension->HasAccessToAllHosts());
|
|
|
| extension.reset(LoadManifest("effective_host_permissions",
|
| "two_hosts.json"));
|
| hosts = extension->GetEffectiveHostPermissions();
|
| - EXPECT_EQ(2u, hosts.size());
|
| - EXPECT_TRUE(hosts.find("www.google.com") != hosts.end());
|
| - EXPECT_TRUE(hosts.find("www.reddit.com") != hosts.end());
|
| + EXPECT_EQ(2u, hosts.patterns().size());
|
| + EXPECT_TRUE(hosts.ContainsURL(GURL("http://www.google.com")));
|
| + EXPECT_TRUE(hosts.ContainsURL(GURL("http://www.reddit.com")));
|
| EXPECT_FALSE(extension->HasAccessToAllHosts());
|
|
|
| extension.reset(LoadManifest("effective_host_permissions",
|
| "duplicate_host.json"));
|
| hosts = extension->GetEffectiveHostPermissions();
|
| - EXPECT_EQ(1u, hosts.size());
|
| - EXPECT_TRUE(hosts.find("google.com") != hosts.end());
|
| + EXPECT_EQ(1u, hosts.patterns().size());
|
| + EXPECT_TRUE(hosts.ContainsURL(GURL("http://google.com")));
|
| EXPECT_FALSE(extension->HasAccessToAllHosts());
|
|
|
| extension.reset(LoadManifest("effective_host_permissions",
|
| "https_not_considered.json"));
|
| hosts = extension->GetEffectiveHostPermissions();
|
| - EXPECT_EQ(1u, hosts.size());
|
| - EXPECT_TRUE(hosts.find("google.com") != hosts.end());
|
| + EXPECT_EQ(1u, hosts.patterns().size());
|
| + EXPECT_TRUE(hosts.ContainsURL(GURL("http://google.com")));
|
| EXPECT_FALSE(extension->HasAccessToAllHosts());
|
|
|
| extension.reset(LoadManifest("effective_host_permissions",
|
| "two_content_scripts.json"));
|
| hosts = extension->GetEffectiveHostPermissions();
|
| - EXPECT_EQ(3u, hosts.size());
|
| - EXPECT_TRUE(hosts.find("google.com") != hosts.end());
|
| - EXPECT_TRUE(hosts.find("www.reddit.com") != hosts.end());
|
| - EXPECT_TRUE(hosts.find("news.ycombinator.com") != hosts.end());
|
| + EXPECT_EQ(3u, hosts.patterns().size());
|
| + EXPECT_TRUE(hosts.ContainsURL(GURL("http://google.com")));
|
| + EXPECT_TRUE(hosts.ContainsURL(GURL("http://www.reddit.com")));
|
| + EXPECT_TRUE(hosts.ContainsURL(GURL("http://news.ycombinator.com")));
|
| EXPECT_FALSE(extension->HasAccessToAllHosts());
|
|
|
| extension.reset(LoadManifest("effective_host_permissions",
|
| "duplicate_content_script.json"));
|
| hosts = extension->GetEffectiveHostPermissions();
|
| - EXPECT_EQ(2u, hosts.size());
|
| - EXPECT_TRUE(hosts.find("google.com") != hosts.end());
|
| - EXPECT_TRUE(hosts.find("www.reddit.com") != hosts.end());
|
| + EXPECT_EQ(3u, hosts.patterns().size());
|
| + EXPECT_TRUE(hosts.ContainsURL(GURL("http://google.com")));
|
| + EXPECT_TRUE(hosts.ContainsURL(GURL("http://www.reddit.com")));
|
| EXPECT_FALSE(extension->HasAccessToAllHosts());
|
|
|
| extension.reset(LoadManifest("effective_host_permissions",
|
| "all_hosts.json"));
|
| hosts = extension->GetEffectiveHostPermissions();
|
| - EXPECT_EQ(1u, hosts.size());
|
| - EXPECT_TRUE(hosts.find("") != hosts.end());
|
| + EXPECT_EQ(1u, hosts.patterns().size());
|
| + EXPECT_TRUE(hosts.ContainsURL(GURL("http://test/")));
|
| EXPECT_TRUE(extension->HasAccessToAllHosts());
|
|
|
| extension.reset(LoadManifest("effective_host_permissions",
|
| "all_hosts2.json"));
|
| hosts = extension->GetEffectiveHostPermissions();
|
| - EXPECT_EQ(2u, hosts.size());
|
| - EXPECT_TRUE(hosts.find("") != hosts.end());
|
| - EXPECT_TRUE(hosts.find("www.google.com") != hosts.end());
|
| + EXPECT_EQ(2u, hosts.patterns().size());
|
| + EXPECT_TRUE(hosts.ContainsURL(GURL("http://test/")));
|
| + EXPECT_TRUE(hosts.ContainsURL(GURL("http://www.google.com")));
|
| EXPECT_TRUE(extension->HasAccessToAllHosts());
|
|
|
| extension.reset(LoadManifest("effective_host_permissions",
|
| "all_hosts3.json"));
|
| hosts = extension->GetEffectiveHostPermissions();
|
| - EXPECT_EQ(2u, hosts.size());
|
| - EXPECT_TRUE(hosts.find("") != hosts.end());
|
| - EXPECT_TRUE(hosts.find("www.google.com") != hosts.end());
|
| + EXPECT_EQ(2u, hosts.patterns().size());
|
| + EXPECT_TRUE(hosts.ContainsURL(GURL("https://test/")));
|
| + EXPECT_TRUE(hosts.ContainsURL(GURL("http://www.google.com")));
|
| EXPECT_TRUE(extension->HasAccessToAllHosts());
|
| }
|
|
|
|
|