extension_manifests_web_accessible_resources_unittest.cc revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "chrome/common/extensions/extension_manifest_constants.h" 6#include "chrome/common/extensions/manifest_tests/extension_manifest_test.h" 7#include "chrome/common/extensions/web_accessible_resources_handler.h" 8#include "testing/gtest/include/gtest/gtest.h" 9 10using extensions::Extension; 11using extensions::WebAccessibleResourcesInfo; 12 13class WebAccessibleResourcesManifestTest : public ExtensionManifestTest { 14 virtual void SetUp() OVERRIDE { 15 ExtensionManifestTest::SetUp(); 16 (new extensions::WebAccessibleResourcesHandler)->Register(); 17 } 18}; 19 20TEST_F(WebAccessibleResourcesManifestTest, WebAccessibleResources) { 21 // Manifest version 2 with web accessible resources specified. 22 scoped_refptr<Extension> extension1( 23 LoadAndExpectSuccess("web_accessible_resources_1.json")); 24 25 // Manifest version 2 with no web accessible resources. 26 scoped_refptr<Extension> extension2( 27 LoadAndExpectSuccess("web_accessible_resources_2.json")); 28 29 // Default manifest version with web accessible resources specified. 30 scoped_refptr<Extension> extension3( 31 LoadAndExpectSuccess("web_accessible_resources_3.json")); 32 33 // Default manifest version with no web accessible resources. 34 scoped_refptr<Extension> extension4( 35 LoadAndExpectSuccess("web_accessible_resources_4.json")); 36 37 // Default manifest version with wildcard web accessible resource. 38 scoped_refptr<Extension> extension5( 39 LoadAndExpectSuccess("web_accessible_resources_5.json")); 40 41 // Default manifest version with wildcard with specific path and extension. 42 scoped_refptr<Extension> extension6( 43 LoadAndExpectSuccess("web_accessible_resources_6.json")); 44 45 EXPECT_TRUE( 46 WebAccessibleResourcesInfo::HasWebAccessibleResources(extension1)); 47 EXPECT_FALSE( 48 WebAccessibleResourcesInfo::HasWebAccessibleResources(extension2)); 49 EXPECT_TRUE( 50 WebAccessibleResourcesInfo::HasWebAccessibleResources(extension3)); 51 EXPECT_FALSE( 52 WebAccessibleResourcesInfo::HasWebAccessibleResources(extension4)); 53 EXPECT_TRUE( 54 WebAccessibleResourcesInfo::HasWebAccessibleResources(extension5)); 55 EXPECT_TRUE( 56 WebAccessibleResourcesInfo::HasWebAccessibleResources(extension6)); 57 58 EXPECT_TRUE(WebAccessibleResourcesInfo::IsResourceWebAccessible( 59 extension1, "test")); 60 EXPECT_FALSE(WebAccessibleResourcesInfo::IsResourceWebAccessible( 61 extension1, "none")); 62 63 EXPECT_FALSE(WebAccessibleResourcesInfo::IsResourceWebAccessible( 64 extension2, "test")); 65 66 EXPECT_TRUE(WebAccessibleResourcesInfo::IsResourceWebAccessible( 67 extension3, "test")); 68 EXPECT_FALSE(WebAccessibleResourcesInfo::IsResourceWebAccessible( 69 extension3, "none")); 70 71 EXPECT_TRUE(WebAccessibleResourcesInfo::IsResourceWebAccessible( 72 extension4, "test")); 73 EXPECT_TRUE(WebAccessibleResourcesInfo::IsResourceWebAccessible( 74 extension4, "none")); 75 76 EXPECT_TRUE(WebAccessibleResourcesInfo::IsResourceWebAccessible( 77 extension5, "anything")); 78 EXPECT_TRUE(WebAccessibleResourcesInfo::IsResourceWebAccessible( 79 extension5, "path/anything")); 80 81 EXPECT_TRUE(WebAccessibleResourcesInfo::IsResourceWebAccessible( 82 extension6, "path/anything.ext")); 83 EXPECT_FALSE(WebAccessibleResourcesInfo::IsResourceWebAccessible( 84 extension6, "anything.ext")); 85 EXPECT_FALSE(WebAccessibleResourcesInfo::IsResourceWebAccessible( 86 extension6, "path/anything.badext")); 87} 88