blob: ee6b8d50c3cf444955be00dcc69552d193deb11f [file] [log] [blame]
// 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<Extension> extension1(
LoadAndExpectSuccess("web_accessible_resources_1.json"));
// Manifest version 2 with no web accessible resources.
scoped_refptr<Extension> extension2(
LoadAndExpectSuccess("web_accessible_resources_2.json"));
// Default manifest version with web accessible resources specified.
scoped_refptr<Extension> extension3(
LoadAndExpectSuccess("web_accessible_resources_3.json"));
// Default manifest version with no web accessible resources.
scoped_refptr<Extension> extension4(
LoadAndExpectSuccess("web_accessible_resources_4.json"));
// Default manifest version with wildcard web accessible resource.
scoped_refptr<Extension> extension5(
LoadAndExpectSuccess("web_accessible_resources_5.json"));
// Default manifest version with wildcard with specific path and extension.
scoped_refptr<Extension> 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"));
}