// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "chrome/common/extensions/manifest_tests/chrome_manifest_test.h" #include "extensions/common/manifest_handlers/web_accessible_resources_info.h" #include "testing/gtest/include/gtest/gtest.h" using extensions::Extension; using extensions::WebAccessibleResourcesInfo; class WebAccessibleResourcesManifestTest : public ChromeManifestTest { }; TEST_F(WebAccessibleResourcesManifestTest, WebAccessibleResources) { // Manifest version 2 with web accessible resources specified. scoped_refptr extension1( LoadAndExpectSuccess("web_accessible_resources_1.json")); // Manifest version 2 with no web accessible resources. scoped_refptr extension2( LoadAndExpectSuccess("web_accessible_resources_2.json")); // Default manifest version with web accessible resources specified. scoped_refptr extension3( LoadAndExpectSuccess("web_accessible_resources_3.json")); // Default manifest version with no web accessible resources. scoped_refptr extension4( LoadAndExpectSuccess("web_accessible_resources_4.json")); // Default manifest version with wildcard web accessible resource. scoped_refptr extension5( LoadAndExpectSuccess("web_accessible_resources_5.json")); // Default manifest version with wildcard with specific path and extension. scoped_refptr extension6( LoadAndExpectSuccess("web_accessible_resources_6.json")); EXPECT_TRUE( WebAccessibleResourcesInfo::HasWebAccessibleResources(extension1.get())); EXPECT_FALSE( WebAccessibleResourcesInfo::HasWebAccessibleResources(extension2.get())); EXPECT_TRUE( WebAccessibleResourcesInfo::HasWebAccessibleResources(extension3.get())); EXPECT_FALSE( WebAccessibleResourcesInfo::HasWebAccessibleResources(extension4.get())); EXPECT_TRUE( WebAccessibleResourcesInfo::HasWebAccessibleResources(extension5.get())); EXPECT_TRUE( WebAccessibleResourcesInfo::HasWebAccessibleResources(extension6.get())); EXPECT_TRUE(WebAccessibleResourcesInfo::IsResourceWebAccessible( extension1.get(), "test")); EXPECT_FALSE(WebAccessibleResourcesInfo::IsResourceWebAccessible( extension1.get(), "none")); EXPECT_FALSE(WebAccessibleResourcesInfo::IsResourceWebAccessible( extension2.get(), "test")); EXPECT_TRUE(WebAccessibleResourcesInfo::IsResourceWebAccessible( extension3.get(), "test")); EXPECT_FALSE(WebAccessibleResourcesInfo::IsResourceWebAccessible( extension3.get(), "none")); EXPECT_TRUE(WebAccessibleResourcesInfo::IsResourceWebAccessible( extension4.get(), "test")); EXPECT_TRUE(WebAccessibleResourcesInfo::IsResourceWebAccessible( extension4.get(), "none")); EXPECT_TRUE(WebAccessibleResourcesInfo::IsResourceWebAccessible( extension5.get(), "anything")); EXPECT_TRUE(WebAccessibleResourcesInfo::IsResourceWebAccessible( extension5.get(), "path/anything")); EXPECT_TRUE(WebAccessibleResourcesInfo::IsResourceWebAccessible( extension6.get(), "path/anything.ext")); EXPECT_FALSE(WebAccessibleResourcesInfo::IsResourceWebAccessible( extension6.get(), "anything.ext")); EXPECT_FALSE(WebAccessibleResourcesInfo::IsResourceWebAccessible( extension6.get(), "path/anything.badext")); }