OLD | NEW |
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/extension_unittest.h" | |
8 #include "chrome/common/extensions/manifest_handlers/shared_module_info.h" | 7 #include "chrome/common/extensions/manifest_handlers/shared_module_info.h" |
9 #include "chrome/common/extensions/manifest_tests/extension_manifest_test.h" | 8 #include "chrome/common/extensions/manifest_tests/extension_manifest_test.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
11 | 10 |
12 namespace { | 11 namespace { |
13 | 12 |
14 const char* kValidImportPath = | 13 const char* kValidImportPath = |
15 "_modules/abcdefghijklmnopabcdefghijklmnop/foo/bar.html"; | 14 "_modules/abcdefghijklmnopabcdefghijklmnop/foo/bar.html"; |
16 const char* kValidImportPathID = "abcdefghijklmnopabcdefghijklmnop"; | 15 const char* kValidImportPathID = "abcdefghijklmnopabcdefghijklmnop"; |
17 const char* kValidImportPathRelative = "foo/bar.html"; | 16 const char* kValidImportPathRelative = "foo/bar.html"; |
18 const char* kInvalidImportPath = "_modules/abc/foo.html"; | 17 const char* kInvalidImportPath = "_modules/abc/foo.html"; |
19 const char* kImportId1 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; | 18 const char* kImportId1 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; |
20 const char* kImportId2 = "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"; | 19 const char* kImportId2 = "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"; |
21 const char* kNoImport = "cccccccccccccccccccccccccccccccc"; | 20 const char* kNoImport = "cccccccccccccccccccccccccccccccc"; |
22 | 21 |
23 } | 22 } |
24 | 23 |
25 namespace extensions { | 24 namespace extensions { |
26 | 25 |
27 class SharedModuleManifestTest : public ExtensionManifestTest { | 26 class SharedModuleManifestTest : public ExtensionManifestTest { |
28 protected: | |
29 virtual void SetUp() OVERRIDE { | |
30 ExtensionManifestTest::SetUp(); | |
31 (new SharedModuleHandler)->Register(); | |
32 } | |
33 }; | 27 }; |
34 | 28 |
35 TEST_F(SharedModuleManifestTest, ExportsAll) { | 29 TEST_F(SharedModuleManifestTest, ExportsAll) { |
36 Manifest manifest("shared_module_export.json"); | 30 Manifest manifest("shared_module_export.json"); |
37 | 31 |
38 scoped_refptr<Extension> extension = LoadAndExpectSuccess(manifest); | 32 scoped_refptr<Extension> extension = LoadAndExpectSuccess(manifest); |
39 | 33 |
40 EXPECT_TRUE(SharedModuleInfo::IsSharedModule(extension)) << manifest.name(); | 34 EXPECT_TRUE(SharedModuleInfo::IsSharedModule(extension)) << manifest.name(); |
41 EXPECT_FALSE(SharedModuleInfo::ImportsModules(extension)) << manifest.name(); | 35 EXPECT_FALSE(SharedModuleInfo::ImportsModules(extension)) << manifest.name(); |
42 EXPECT_TRUE(SharedModuleInfo::IsExportAllowed(extension, "foo")) | 36 EXPECT_TRUE(SharedModuleInfo::IsExportAllowed(extension, "foo")) |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 "Invalid value for 'import'."), | 102 "Invalid value for 'import'."), |
109 Testcase("shared_module_import_invalid_id.json", | 103 Testcase("shared_module_import_invalid_id.json", |
110 "Invalid value for 'import[0].id'."), | 104 "Invalid value for 'import[0].id'."), |
111 Testcase("shared_module_import_invalid_version.json", | 105 Testcase("shared_module_import_invalid_version.json", |
112 "Invalid value for 'import[0].minimum_version'."), | 106 "Invalid value for 'import[0].minimum_version'."), |
113 }; | 107 }; |
114 RunTestcases(testcases, arraysize(testcases), EXPECT_TYPE_ERROR); | 108 RunTestcases(testcases, arraysize(testcases), EXPECT_TYPE_ERROR); |
115 } | 109 } |
116 | 110 |
117 } // namespace extensions | 111 } // namespace extensions |
OLD | NEW |