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

Side by Side Diff: chrome/common/extensions/manifest_handlers/shared_module_manifest_unittest.cc

Issue 15836003: Update chrome/ to use scoped_refptr<T>::get() rather than implicit "operator T*" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 7 years, 6 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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "base/version.h" 5 #include "base/version.h"
6 #include "chrome/common/extensions/extension.h" 6 #include "chrome/common/extensions/extension.h"
7 #include "chrome/common/extensions/manifest_handlers/shared_module_info.h" 7 #include "chrome/common/extensions/manifest_handlers/shared_module_info.h"
8 #include "chrome/common/extensions/manifest_tests/extension_manifest_test.h" 8 #include "chrome/common/extensions/manifest_tests/extension_manifest_test.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
(...skipping 13 matching lines...) Expand all
24 namespace extensions { 24 namespace extensions {
25 25
26 class SharedModuleManifestTest : public ExtensionManifestTest { 26 class SharedModuleManifestTest : public ExtensionManifestTest {
27 }; 27 };
28 28
29 TEST_F(SharedModuleManifestTest, ExportsAll) { 29 TEST_F(SharedModuleManifestTest, ExportsAll) {
30 Manifest manifest("shared_module_export.json"); 30 Manifest manifest("shared_module_export.json");
31 31
32 scoped_refptr<Extension> extension = LoadAndExpectSuccess(manifest); 32 scoped_refptr<Extension> extension = LoadAndExpectSuccess(manifest);
33 33
34 EXPECT_TRUE(SharedModuleInfo::IsSharedModule(extension)) << manifest.name(); 34 EXPECT_TRUE(SharedModuleInfo::IsSharedModule(extension.get()))
35 EXPECT_FALSE(SharedModuleInfo::ImportsModules(extension)) << manifest.name();
36 EXPECT_TRUE(SharedModuleInfo::IsExportAllowed(extension, "foo"))
37 << manifest.name(); 35 << manifest.name();
38 EXPECT_TRUE(SharedModuleInfo::IsExportAllowed(extension, "foo/bar")) 36 EXPECT_FALSE(SharedModuleInfo::ImportsModules(extension.get()))
37 << manifest.name();
38 EXPECT_TRUE(SharedModuleInfo::IsExportAllowed(extension.get(), "foo"))
39 << manifest.name();
40 EXPECT_TRUE(SharedModuleInfo::IsExportAllowed(extension.get(), "foo/bar"))
39 << manifest.name(); 41 << manifest.name();
40 } 42 }
41 43
42 TEST_F(SharedModuleManifestTest, ExportFoo) { 44 TEST_F(SharedModuleManifestTest, ExportFoo) {
43 Manifest manifest("shared_module_export_foo.json"); 45 Manifest manifest("shared_module_export_foo.json");
44 46
45 scoped_refptr<Extension> extension = LoadAndExpectSuccess(manifest); 47 scoped_refptr<Extension> extension = LoadAndExpectSuccess(manifest);
46 48
47 EXPECT_TRUE(SharedModuleInfo::IsSharedModule(extension)) << manifest.name(); 49 EXPECT_TRUE(SharedModuleInfo::IsSharedModule(extension.get()))
48 EXPECT_FALSE(SharedModuleInfo::ImportsModules(extension)) << manifest.name();
49 EXPECT_TRUE(SharedModuleInfo::IsExportAllowed(extension, "foo"))
50 << manifest.name(); 50 << manifest.name();
51 EXPECT_FALSE(SharedModuleInfo::IsExportAllowed(extension, "foo/bar")) 51 EXPECT_FALSE(SharedModuleInfo::ImportsModules(extension.get()))
52 << manifest.name();
53 EXPECT_TRUE(SharedModuleInfo::IsExportAllowed(extension.get(), "foo"))
54 << manifest.name();
55 EXPECT_FALSE(SharedModuleInfo::IsExportAllowed(extension.get(), "foo/bar"))
52 << manifest.name(); 56 << manifest.name();
53 } 57 }
54 58
55 TEST_F(SharedModuleManifestTest, ExportParseErrors) { 59 TEST_F(SharedModuleManifestTest, ExportParseErrors) {
56 Testcase testcases[] = { 60 Testcase testcases[] = {
57 Testcase("shared_module_export_and_import.json", 61 Testcase("shared_module_export_and_import.json",
58 "Simultaneous 'import' and 'export' are not allowed."), 62 "Simultaneous 'import' and 'export' are not allowed."),
59 Testcase("shared_module_export_not_dict.json", 63 Testcase("shared_module_export_not_dict.json",
60 "Invalid value for 'export'."), 64 "Invalid value for 'export'."),
61 Testcase("shared_module_export_resources_not_list.json", 65 Testcase("shared_module_export_resources_not_list.json",
(...skipping 13 matching lines...) Expand all
75 SharedModuleInfo::ParseImportedPath(kValidImportPath, &id, &relative); 79 SharedModuleInfo::ParseImportedPath(kValidImportPath, &id, &relative);
76 EXPECT_EQ(id, kValidImportPathID); 80 EXPECT_EQ(id, kValidImportPathID);
77 EXPECT_EQ(relative, kValidImportPathRelative); 81 EXPECT_EQ(relative, kValidImportPathRelative);
78 } 82 }
79 83
80 TEST_F(SharedModuleManifestTest, Import) { 84 TEST_F(SharedModuleManifestTest, Import) {
81 Manifest manifest("shared_module_import.json"); 85 Manifest manifest("shared_module_import.json");
82 86
83 scoped_refptr<Extension> extension = LoadAndExpectSuccess(manifest); 87 scoped_refptr<Extension> extension = LoadAndExpectSuccess(manifest);
84 88
85 EXPECT_FALSE(SharedModuleInfo::IsSharedModule(extension)) << manifest.name(); 89 EXPECT_FALSE(SharedModuleInfo::IsSharedModule(extension.get()))
86 EXPECT_TRUE(SharedModuleInfo::ImportsModules(extension)) << manifest.name(); 90 << manifest.name();
91 EXPECT_TRUE(SharedModuleInfo::ImportsModules(extension.get()))
92 << manifest.name();
87 const std::vector<SharedModuleInfo::ImportInfo>& imports = 93 const std::vector<SharedModuleInfo::ImportInfo>& imports =
88 SharedModuleInfo::GetImports(extension); 94 SharedModuleInfo::GetImports(extension.get());
89 ASSERT_EQ(2U, imports.size()); 95 ASSERT_EQ(2U, imports.size());
90 EXPECT_EQ(imports[0].extension_id, kImportId1); 96 EXPECT_EQ(imports[0].extension_id, kImportId1);
91 EXPECT_EQ(imports[0].minimum_version, ""); 97 EXPECT_EQ(imports[0].minimum_version, "");
92 EXPECT_EQ(imports[1].extension_id, kImportId2); 98 EXPECT_EQ(imports[1].extension_id, kImportId2);
93 EXPECT_TRUE(base::Version(imports[1].minimum_version).IsValid()); 99 EXPECT_TRUE(base::Version(imports[1].minimum_version).IsValid());
94 EXPECT_TRUE(SharedModuleInfo::ImportsExtensionById(extension, kImportId1)); 100 EXPECT_TRUE(
95 EXPECT_TRUE(SharedModuleInfo::ImportsExtensionById(extension, kImportId2)); 101 SharedModuleInfo::ImportsExtensionById(extension.get(), kImportId1));
96 EXPECT_FALSE(SharedModuleInfo::ImportsExtensionById(extension, kNoImport)); 102 EXPECT_TRUE(
103 SharedModuleInfo::ImportsExtensionById(extension.get(), kImportId2));
104 EXPECT_FALSE(
105 SharedModuleInfo::ImportsExtensionById(extension.get(), kNoImport));
97 } 106 }
98 107
99 TEST_F(SharedModuleManifestTest, ImportParseErrors) { 108 TEST_F(SharedModuleManifestTest, ImportParseErrors) {
100 Testcase testcases[] = { 109 Testcase testcases[] = {
101 Testcase("shared_module_import_not_list.json", 110 Testcase("shared_module_import_not_list.json",
102 "Invalid value for 'import'."), 111 "Invalid value for 'import'."),
103 Testcase("shared_module_import_invalid_id.json", 112 Testcase("shared_module_import_invalid_id.json",
104 "Invalid value for 'import[0].id'."), 113 "Invalid value for 'import[0].id'."),
105 Testcase("shared_module_import_invalid_version.json", 114 Testcase("shared_module_import_invalid_version.json",
106 "Invalid value for 'import[0].minimum_version'."), 115 "Invalid value for 'import[0].minimum_version'."),
107 }; 116 };
108 RunTestcases(testcases, arraysize(testcases), EXPECT_TYPE_ERROR); 117 RunTestcases(testcases, arraysize(testcases), EXPECT_TYPE_ERROR);
109 } 118 }
110 119
111 } // namespace extensions 120 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698