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

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

Issue 125004: Revert "BUG=12114" (Closed)
Patch Set: Created 11 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
« no previous file with comments | « chrome/common/extensions/extension.cc ('k') | chrome/common/extensions/extension_unpacker.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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/file_path.h" 5 #include "base/file_path.h"
6 #include "base/string_util.h" 6 #include "base/string_util.h"
7 #include "base/path_service.h" 7 #include "base/path_service.h"
8 #include "chrome/common/chrome_paths.h" 8 #include "chrome/common/chrome_paths.h"
9 #include "chrome/common/extensions/extension.h" 9 #include "chrome/common/extensions/extension.h"
10 #include "chrome/common/extensions/extension_error_reporter.h" 10 #include "chrome/common/extensions/extension_error_reporter.h"
(...skipping 25 matching lines...) Expand all
36 JSONFileValueSerializer serializer(extensions_path); 36 JSONFileValueSerializer serializer(extensions_path);
37 scoped_ptr<DictionaryValue> valid_value( 37 scoped_ptr<DictionaryValue> valid_value(
38 static_cast<DictionaryValue*>(serializer.Deserialize(&error))); 38 static_cast<DictionaryValue*>(serializer.Deserialize(&error)));
39 ASSERT_TRUE(valid_value.get()); 39 ASSERT_TRUE(valid_value.get());
40 ASSERT_EQ("", error); 40 ASSERT_EQ("", error);
41 ASSERT_TRUE(extension.InitFromValue(*valid_value, true, &error)); 41 ASSERT_TRUE(extension.InitFromValue(*valid_value, true, &error));
42 ASSERT_EQ("", error); 42 ASSERT_EQ("", error);
43 43
44 scoped_ptr<DictionaryValue> input_value; 44 scoped_ptr<DictionaryValue> input_value;
45 45
46 // Test missing and invalid ids
47 input_value.reset(static_cast<DictionaryValue*>(valid_value->DeepCopy()));
48 input_value->Remove(Extension::kIdKey, NULL);
49 EXPECT_FALSE(extension.InitFromValue(*input_value, true, &error));
50 EXPECT_EQ(Extension::kInvalidIdError, error);
51
52 input_value.reset(static_cast<DictionaryValue*>(valid_value->DeepCopy()));
53 input_value->SetInteger(Extension::kIdKey, 42);
54 EXPECT_FALSE(extension.InitFromValue(*input_value, true, &error));
55 EXPECT_EQ(Extension::kInvalidIdError, error);
56
46 // Test missing and invalid versions 57 // Test missing and invalid versions
47 input_value.reset(static_cast<DictionaryValue*>(valid_value->DeepCopy())); 58 input_value.reset(static_cast<DictionaryValue*>(valid_value->DeepCopy()));
48 input_value->Remove(Extension::kVersionKey, NULL); 59 input_value->Remove(Extension::kVersionKey, NULL);
49 EXPECT_FALSE(extension.InitFromValue(*input_value, true, &error)); 60 EXPECT_FALSE(extension.InitFromValue(*input_value, true, &error));
50 EXPECT_EQ(Extension::kInvalidVersionError, error); 61 EXPECT_EQ(Extension::kInvalidVersionError, error);
51 62
52 input_value->SetInteger(Extension::kVersionKey, 42); 63 input_value->SetInteger(Extension::kVersionKey, 42);
53 EXPECT_FALSE(extension.InitFromValue(*input_value, true, &error)); 64 EXPECT_FALSE(extension.InitFromValue(*input_value, true, &error));
54 EXPECT_EQ(Extension::kInvalidVersionError, error); 65 EXPECT_EQ(Extension::kInvalidVersionError, error);
55 66
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 EXPECT_FALSE(extension.InitFromValue(*input_value, true, &error)); 197 EXPECT_FALSE(extension.InitFromValue(*input_value, true, &error));
187 EXPECT_TRUE(MatchPattern(error, Extension::kInvalidPermissionSchemeError)); 198 EXPECT_TRUE(MatchPattern(error, Extension::kInvalidPermissionSchemeError));
188 } 199 }
189 200
190 TEST(ExtensionTest, InitFromValueValid) { 201 TEST(ExtensionTest, InitFromValueValid) {
191 #if defined(OS_WIN) 202 #if defined(OS_WIN)
192 FilePath path(FILE_PATH_LITERAL("C:\\foo")); 203 FilePath path(FILE_PATH_LITERAL("C:\\foo"));
193 #elif defined(OS_POSIX) 204 #elif defined(OS_POSIX)
194 FilePath path(FILE_PATH_LITERAL("/foo")); 205 FilePath path(FILE_PATH_LITERAL("/foo"));
195 #endif 206 #endif
196 Extension::ResetGeneratedIdCounter();
197
198 Extension extension(path); 207 Extension extension(path);
199 std::string error; 208 std::string error;
200 DictionaryValue input_value; 209 DictionaryValue input_value;
201 210
202 // Test minimal extension 211 // Test minimal extension
212 input_value.SetString(Extension::kIdKey,
213 "00123456789ABCDEF0123456789ABCDEF0123456");
203 input_value.SetString(Extension::kVersionKey, "1.0.0.0"); 214 input_value.SetString(Extension::kVersionKey, "1.0.0.0");
204 input_value.SetString(Extension::kNameKey, "my extension"); 215 input_value.SetString(Extension::kNameKey, "my extension");
205 216
206 EXPECT_TRUE(extension.InitFromValue(input_value, false, &error)); 217 EXPECT_TRUE(extension.InitFromValue(input_value, true, &error));
207 EXPECT_EQ("", error); 218 EXPECT_EQ("", error);
208 EXPECT_EQ("0000000000000000000000000000000000000000", extension.id()); 219 EXPECT_EQ("00123456789abcdef0123456789abcdef0123456", extension.id());
209 EXPECT_EQ("1.0.0.0", extension.VersionString()); 220 EXPECT_EQ("1.0.0.0", extension.VersionString());
210 EXPECT_EQ("my extension", extension.name()); 221 EXPECT_EQ("my extension", extension.name());
211 EXPECT_EQ("chrome-extension://0000000000000000000000000000000000000000/", 222 EXPECT_EQ("chrome-extension://00123456789abcdef0123456789abcdef0123456/",
212 extension.url().spec()); 223 extension.url().spec());
213 EXPECT_EQ(path.value(), extension.path().value()); 224 EXPECT_EQ(path.value(), extension.path().value());
214 } 225 }
215 226
216 TEST(ExtensionTest, GetResourceURLAndPath) { 227 TEST(ExtensionTest, GetResourceURLAndPath) {
217 #if defined(OS_WIN) 228 #if defined(OS_WIN)
218 FilePath path(FILE_PATH_LITERAL("C:\\foo")); 229 FilePath path(FILE_PATH_LITERAL("C:\\foo"));
219 #elif defined(OS_POSIX) 230 #elif defined(OS_POSIX)
220 FilePath path(FILE_PATH_LITERAL("/foo")); 231 FilePath path(FILE_PATH_LITERAL("/foo"));
221 #endif 232 #endif
222 Extension extension(path); 233 Extension extension(path);
223 DictionaryValue input_value; 234 DictionaryValue input_value;
235 input_value.SetString(Extension::kIdKey,
236 "00123456789ABCDEF0123456789ABCDEF0123456");
224 input_value.SetString(Extension::kVersionKey, "1.0.0.0"); 237 input_value.SetString(Extension::kVersionKey, "1.0.0.0");
225 input_value.SetString(Extension::kNameKey, "my extension"); 238 input_value.SetString(Extension::kNameKey, "my extension");
226 EXPECT_TRUE(extension.InitFromValue(input_value, false, NULL)); 239 EXPECT_TRUE(extension.InitFromValue(input_value, true, NULL));
227 240
228 EXPECT_EQ(extension.url().spec() + "bar/baz.js", 241 EXPECT_EQ(extension.url().spec() + "bar/baz.js",
229 Extension::GetResourceURL(extension.url(), "bar/baz.js").spec()); 242 Extension::GetResourceURL(extension.url(), "bar/baz.js").spec());
230 EXPECT_EQ(extension.url().spec() + "baz.js", 243 EXPECT_EQ(extension.url().spec() + "baz.js",
231 Extension::GetResourceURL(extension.url(), "bar/../baz.js").spec()); 244 Extension::GetResourceURL(extension.url(), "bar/../baz.js").spec());
232 EXPECT_EQ(extension.url().spec() + "baz.js", 245 EXPECT_EQ(extension.url().spec() + "baz.js",
233 Extension::GetResourceURL(extension.url(), "../baz.js").spec()); 246 Extension::GetResourceURL(extension.url(), "../baz.js").spec());
234 247
235 EXPECT_EQ(path.Append(FILE_PATH_LITERAL("bar")) 248 EXPECT_EQ(path.Append(FILE_PATH_LITERAL("bar"))
236 .Append(FILE_PATH_LITERAL("baz.js")).value(), 249 .Append(FILE_PATH_LITERAL("baz.js")).value(),
237 Extension::GetResourcePath(extension.path(), "bar/baz.js").value()); 250 Extension::GetResourcePath(extension.path(), "bar/baz.js").value());
238 EXPECT_EQ(path.Append(FILE_PATH_LITERAL("baz.js")).value(), 251 EXPECT_EQ(path.Append(FILE_PATH_LITERAL("baz.js")).value(),
239 Extension::GetResourcePath(extension.path(), "bar/../baz.js") 252 Extension::GetResourcePath(extension.path(), "bar/../baz.js")
240 .value()); 253 .value());
241 EXPECT_EQ(FilePath().value(), 254 EXPECT_EQ(FilePath().value(),
242 Extension::GetResourcePath(extension.path(), "../baz.js").value()); 255 Extension::GetResourcePath(extension.path(), "../baz.js").value());
243 } 256 }
OLDNEW
« no previous file with comments | « chrome/common/extensions/extension.cc ('k') | chrome/common/extensions/extension_unpacker.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698