Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(675)

Side by Side Diff: chrome/common/pepper_permission_util_unittest.cc

Issue 481433005: Extensions: Move id_util functions to crx_file component. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: revert last patchset. function returns Extension* and can't use an assert. Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/common/pepper_permission_util.h" 5 #include "chrome/common/pepper_permission_util.h"
6 6
7 #include <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 9
10 #include "chrome/common/extensions/features/feature_channel.h" 10 #include "chrome/common/extensions/features/feature_channel.h"
11 #include "components/crx_file/id_util.h"
11 #include "extensions/common/extension_builder.h" 12 #include "extensions/common/extension_builder.h"
12 #include "extensions/common/extension_set.h" 13 #include "extensions/common/extension_set.h"
13 #include "extensions/common/id_util.h"
14 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
15 15
16 using chrome::IsExtensionOrSharedModuleWhitelisted; 16 using chrome::IsExtensionOrSharedModuleWhitelisted;
17 17
18 namespace extensions { 18 namespace extensions {
19 19
20 namespace { 20 namespace {
21 21
22 // Return an extension with |id| which imports a module with the given 22 // Return an extension with |id| which imports a module with the given
23 // |import_id|. 23 // |import_id|.
(...skipping 14 matching lines...) Expand all
38 .AddFlags(Extension::FROM_WEBSTORE) 38 .AddFlags(Extension::FROM_WEBSTORE)
39 .SetID(id) 39 .SetID(id)
40 .Build(); 40 .Build();
41 } 41 }
42 42
43 } // namespace 43 } // namespace
44 44
45 TEST(PepperPermissionUtilTest, ExtensionWhitelisting) { 45 TEST(PepperPermissionUtilTest, ExtensionWhitelisting) {
46 ScopedCurrentChannel current_channel(chrome::VersionInfo::CHANNEL_UNKNOWN); 46 ScopedCurrentChannel current_channel(chrome::VersionInfo::CHANNEL_UNKNOWN);
47 ExtensionSet extensions; 47 ExtensionSet extensions;
48 std::string whitelisted_id = id_util::GenerateId("whitelisted_extension"); 48 std::string whitelisted_id =
49 crx_file::id_util::GenerateId("whitelisted_extension");
49 scoped_ptr<base::DictionaryValue> manifest = 50 scoped_ptr<base::DictionaryValue> manifest =
50 DictionaryBuilder() 51 DictionaryBuilder()
51 .Set("name", "Whitelisted Extension") 52 .Set("name", "Whitelisted Extension")
52 .Set("version", "1.0") 53 .Set("version", "1.0")
53 .Set("manifest_version", 2) 54 .Set("manifest_version", 2)
54 .Build(); 55 .Build();
55 scoped_refptr<Extension> ext = ExtensionBuilder() 56 scoped_refptr<Extension> ext = ExtensionBuilder()
56 .SetManifest(manifest.Pass()) 57 .SetManifest(manifest.Pass())
57 .SetID(whitelisted_id) 58 .SetID(whitelisted_id)
58 .Build(); 59 .Build();
59 extensions.Insert(ext); 60 extensions.Insert(ext);
60 std::set<std::string> whitelist; 61 std::set<std::string> whitelist;
61 std::string url = std::string("chrome-extension://") + whitelisted_id + 62 std::string url = std::string("chrome-extension://") + whitelisted_id +
62 std::string("/manifest.nmf"); 63 std::string("/manifest.nmf");
63 std::string bad_scheme_url = 64 std::string bad_scheme_url =
64 std::string("http://") + whitelisted_id + std::string("/manifest.nmf"); 65 std::string("http://") + whitelisted_id + std::string("/manifest.nmf");
65 std::string bad_host_url = 66 std::string bad_host_url = std::string("chrome-extension://") +
66 std::string("chrome-extension://") + id_util::GenerateId("bad_host"); 67 crx_file::id_util::GenerateId("bad_host");
67 std::string("/manifest.nmf"); 68 std::string("/manifest.nmf");
68 69
69 EXPECT_FALSE( 70 EXPECT_FALSE(
70 IsExtensionOrSharedModuleWhitelisted(GURL(url), &extensions, whitelist)); 71 IsExtensionOrSharedModuleWhitelisted(GURL(url), &extensions, whitelist));
71 whitelist.insert(whitelisted_id); 72 whitelist.insert(whitelisted_id);
72 EXPECT_TRUE( 73 EXPECT_TRUE(
73 IsExtensionOrSharedModuleWhitelisted(GURL(url), &extensions, whitelist)); 74 IsExtensionOrSharedModuleWhitelisted(GURL(url), &extensions, whitelist));
74 EXPECT_FALSE(IsExtensionOrSharedModuleWhitelisted( 75 EXPECT_FALSE(IsExtensionOrSharedModuleWhitelisted(
75 GURL(bad_scheme_url), &extensions, whitelist)); 76 GURL(bad_scheme_url), &extensions, whitelist));
76 EXPECT_FALSE(IsExtensionOrSharedModuleWhitelisted( 77 EXPECT_FALSE(IsExtensionOrSharedModuleWhitelisted(
77 GURL(bad_host_url), &extensions, whitelist)); 78 GURL(bad_host_url), &extensions, whitelist));
78 } 79 }
79 80
80 TEST(PepperPermissionUtilTest, SharedModuleWhitelisting) { 81 TEST(PepperPermissionUtilTest, SharedModuleWhitelisting) {
81 ScopedCurrentChannel current_channel(chrome::VersionInfo::CHANNEL_UNKNOWN); 82 ScopedCurrentChannel current_channel(chrome::VersionInfo::CHANNEL_UNKNOWN);
82 ExtensionSet extensions; 83 ExtensionSet extensions;
83 std::string whitelisted_id = id_util::GenerateId("extension_id"); 84 std::string whitelisted_id = crx_file::id_util::GenerateId("extension_id");
84 std::string bad_id = id_util::GenerateId("bad_id"); 85 std::string bad_id = crx_file::id_util::GenerateId("bad_id");
85 86
86 scoped_ptr<base::DictionaryValue> shared_module_manifest = 87 scoped_ptr<base::DictionaryValue> shared_module_manifest =
87 DictionaryBuilder() 88 DictionaryBuilder()
88 .Set("name", "Whitelisted Shared Module") 89 .Set("name", "Whitelisted Shared Module")
89 .Set("version", "1.0") 90 .Set("version", "1.0")
90 .Set("manifest_version", 2) 91 .Set("manifest_version", 2)
91 .Set("export", 92 .Set("export",
92 DictionaryBuilder() 93 DictionaryBuilder()
93 .Set("resources", ListBuilder().Append("*")) 94 .Set("resources", ListBuilder().Append("*"))
94 // Add the extension to the whitelist. This 95 // Add the extension to the whitelist. This
(...skipping 30 matching lines...) Expand all
125 GURL(bad_extension_url), &extensions, whitelist)); 126 GURL(bad_extension_url), &extensions, whitelist));
126 127
127 // Note that the whitelist should be empty after this call, so tests checking 128 // Note that the whitelist should be empty after this call, so tests checking
128 // for failure to import will fail because of this. 129 // for failure to import will fail because of this.
129 whitelist.erase(shared_module->id()); 130 whitelist.erase(shared_module->id());
130 EXPECT_FALSE(IsExtensionOrSharedModuleWhitelisted( 131 EXPECT_FALSE(IsExtensionOrSharedModuleWhitelisted(
131 GURL(extension_url), &extensions, whitelist)); 132 GURL(extension_url), &extensions, whitelist));
132 } 133 }
133 134
134 } // namespace extensions 135 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/common/extensions/manifest_tests/extension_manifests_initvalue_unittest.cc ('k') | chrome/renderer/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698