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

Side by Side Diff: chrome/common/extensions/manifest_unittest.cc

Issue 10544059: Change the platform app manifest structure. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 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) 2012 The Chromium Authors. All rights reserved. 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 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/extensions/manifest.h" 5 #include "chrome/common/extensions/manifest.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 10
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 // By default, the type is Extension. 127 // By default, the type is Extension.
128 AssertType(manifest.get(), Extension::TYPE_EXTENSION); 128 AssertType(manifest.get(), Extension::TYPE_EXTENSION);
129 129
130 // Theme. 130 // Theme.
131 MutateManifest( 131 MutateManifest(
132 &manifest, keys::kTheme, new DictionaryValue()); 132 &manifest, keys::kTheme, new DictionaryValue());
133 AssertType(manifest.get(), Extension::TYPE_THEME); 133 AssertType(manifest.get(), Extension::TYPE_THEME);
134 MutateManifest( 134 MutateManifest(
135 &manifest, keys::kTheme, NULL); 135 &manifest, keys::kTheme, NULL);
136 136
137 // Platform app.
138 MutateManifest(
139 &manifest, keys::kPlatformApp, new DictionaryValue());
140 AssertType(manifest.get(), Extension::TYPE_EXTENSION); // must be boolean
141 MutateManifest(
142 &manifest, keys::kPlatformApp, Value::CreateBooleanValue(false));
143 AssertType(manifest.get(), Extension::TYPE_EXTENSION); // must be true
144 MutateManifest(
145 &manifest, keys::kPlatformApp, Value::CreateBooleanValue(true));
146 AssertType(manifest.get(), Extension::TYPE_PLATFORM_APP);
147 MutateManifest(
148 &manifest, keys::kPlatformApp, NULL);
149
150 // Packaged app. 137 // Packaged app.
151 MutateManifest( 138 MutateManifest(
152 &manifest, keys::kApp, new DictionaryValue()); 139 &manifest, keys::kApp, new DictionaryValue());
153 AssertType(manifest.get(), Extension::TYPE_PACKAGED_APP); 140 AssertType(manifest.get(), Extension::TYPE_PACKAGED_APP);
154 141
142 // Platform app.
143 MutateManifest(
144 &manifest, keys::kPlatformAppBackground, new DictionaryValue());
145 AssertType(manifest.get(), Extension::TYPE_PLATFORM_APP);
146 MutateManifest(
147 &manifest, keys::kPlatformAppBackground, NULL);
148
155 // Hosted app. 149 // Hosted app.
156 MutateManifest( 150 MutateManifest(
157 &manifest, keys::kWebURLs, new ListValue()); 151 &manifest, keys::kWebURLs, new ListValue());
158 AssertType(manifest.get(), Extension::TYPE_HOSTED_APP); 152 AssertType(manifest.get(), Extension::TYPE_HOSTED_APP);
159 MutateManifest( 153 MutateManifest(
160 &manifest, keys::kWebURLs, NULL); 154 &manifest, keys::kWebURLs, NULL);
161 MutateManifest( 155 MutateManifest(
162 &manifest, keys::kLaunchWebURL, Value::CreateStringValue("foo")); 156 &manifest, keys::kLaunchWebURL, Value::CreateStringValue("foo"));
163 AssertType(manifest.get(), Extension::TYPE_HOSTED_APP); 157 AssertType(manifest.get(), Extension::TYPE_HOSTED_APP);
164 MutateManifest( 158 MutateManifest(
(...skipping 16 matching lines...) Expand all
181 175
182 // Platform apps cannot have a "page_action" key. 176 // Platform apps cannot have a "page_action" key.
183 MutateManifest( 177 MutateManifest(
184 &manifest, keys::kPageAction, new DictionaryValue()); 178 &manifest, keys::kPageAction, new DictionaryValue());
185 AssertType(manifest.get(), Extension::TYPE_EXTENSION); 179 AssertType(manifest.get(), Extension::TYPE_EXTENSION);
186 base::Value* output = NULL; 180 base::Value* output = NULL;
187 EXPECT_TRUE(manifest->HasKey(keys::kPageAction)); 181 EXPECT_TRUE(manifest->HasKey(keys::kPageAction));
188 EXPECT_TRUE(manifest->Get(keys::kPageAction, &output)); 182 EXPECT_TRUE(manifest->Get(keys::kPageAction, &output));
189 183
190 MutateManifest( 184 MutateManifest(
191 &manifest, keys::kPlatformApp, Value::CreateBooleanValue(true)); 185 &manifest, keys::kPlatformAppBackground, new DictionaryValue());
192 AssertType(manifest.get(), Extension::TYPE_PLATFORM_APP); 186 AssertType(manifest.get(), Extension::TYPE_PLATFORM_APP);
193 EXPECT_FALSE(manifest->HasKey(keys::kPageAction)); 187 EXPECT_FALSE(manifest->HasKey(keys::kPageAction));
194 EXPECT_FALSE(manifest->Get(keys::kPageAction, &output)); 188 EXPECT_FALSE(manifest->Get(keys::kPageAction, &output));
195 MutateManifest( 189 MutateManifest(
196 &manifest, keys::kPlatformApp, NULL); 190 &manifest, keys::kPlatformAppBackground, NULL);
197 191
198 // "commands" is restricted to manifest_version >= 2. 192 // "commands" is restricted to manifest_version >= 2.
199 MutateManifest( 193 MutateManifest(
200 &manifest, keys::kCommands, new DictionaryValue()); 194 &manifest, keys::kCommands, new DictionaryValue());
201 EXPECT_FALSE(manifest->HasKey(keys::kCommands)); 195 EXPECT_FALSE(manifest->HasKey(keys::kCommands));
202 EXPECT_FALSE(manifest->Get(keys::kCommands, &output)); 196 EXPECT_FALSE(manifest->Get(keys::kCommands, &output));
203 197
204 MutateManifest( 198 MutateManifest(
205 &manifest, keys::kManifestVersion, Value::CreateIntegerValue(2)); 199 &manifest, keys::kManifestVersion, Value::CreateIntegerValue(2));
206 EXPECT_TRUE(manifest->HasKey(keys::kCommands)); 200 EXPECT_TRUE(manifest->HasKey(keys::kCommands));
207 EXPECT_TRUE(manifest->Get(keys::kCommands, &output)); 201 EXPECT_TRUE(manifest->Get(keys::kCommands, &output));
208 }; 202 };
209 203
210 } // namespace extensions 204 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698