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

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

Issue 126074: Change extension id format back to mp-decimal, and change the (Closed)
Patch Set: make all the tests work again 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
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 11 matching lines...) Expand all
22 #endif 22 #endif
23 Extension extension(path); 23 Extension extension(path);
24 std::string error; 24 std::string error;
25 ExtensionErrorReporter::Init(false); 25 ExtensionErrorReporter::Init(false);
26 26
27 // Start with a valid extension manifest 27 // Start with a valid extension manifest
28 FilePath extensions_path; 28 FilePath extensions_path;
29 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &extensions_path)); 29 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &extensions_path));
30 extensions_path = extensions_path.AppendASCII("extensions") 30 extensions_path = extensions_path.AppendASCII("extensions")
31 .AppendASCII("good") 31 .AppendASCII("good")
32 .AppendASCII("extension1") 32 .AppendASCII("behllobkkfkfnphdnhnkndlbkcpglgmj")
33 .AppendASCII("1") 33 .AppendASCII("1.0.0.0")
34 .AppendASCII(Extension::kManifestFilename); 34 .AppendASCII(Extension::kManifestFilename);
35 35
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
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 Extension extension(path); 198 Extension extension(path);
199 std::string error; 199 std::string error;
200 DictionaryValue input_value; 200 DictionaryValue input_value;
201 201
202 // Test minimal extension 202 // Test minimal extension
203 input_value.SetString(Extension::kVersionKey, "1.0.0.0"); 203 input_value.SetString(Extension::kVersionKey, "1.0.0.0");
204 input_value.SetString(Extension::kNameKey, "my extension"); 204 input_value.SetString(Extension::kNameKey, "my extension");
205 205
206 EXPECT_TRUE(extension.InitFromValue(input_value, false, &error)); 206 EXPECT_TRUE(extension.InitFromValue(input_value, false, &error));
207 EXPECT_EQ("", error); 207 EXPECT_EQ("", error);
208 EXPECT_EQ("0000000000000000000000000000000000000000", extension.id()); 208 EXPECT_EQ("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", extension.id());
209 EXPECT_EQ("1.0.0.0", extension.VersionString()); 209 EXPECT_EQ("1.0.0.0", extension.VersionString());
210 EXPECT_EQ("my extension", extension.name()); 210 EXPECT_EQ("my extension", extension.name());
211 EXPECT_EQ("chrome-extension://0000000000000000000000000000000000000000/", 211 EXPECT_EQ("chrome-extension://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/",
212 extension.url().spec()); 212 extension.url().spec());
213 EXPECT_EQ(path.value(), extension.path().value()); 213 EXPECT_EQ(path.value(), extension.path().value());
214 } 214 }
215 215
216 TEST(ExtensionTest, GetResourceURLAndPath) { 216 TEST(ExtensionTest, GetResourceURLAndPath) {
217 #if defined(OS_WIN) 217 #if defined(OS_WIN)
218 FilePath path(FILE_PATH_LITERAL("C:\\foo")); 218 FilePath path(FILE_PATH_LITERAL("C:\\foo"));
219 #elif defined(OS_POSIX) 219 #elif defined(OS_POSIX)
220 FilePath path(FILE_PATH_LITERAL("/foo")); 220 FilePath path(FILE_PATH_LITERAL("/foo"));
221 #endif 221 #endif
(...skipping 12 matching lines...) Expand all
234 234
235 EXPECT_EQ(path.Append(FILE_PATH_LITERAL("bar")) 235 EXPECT_EQ(path.Append(FILE_PATH_LITERAL("bar"))
236 .Append(FILE_PATH_LITERAL("baz.js")).value(), 236 .Append(FILE_PATH_LITERAL("baz.js")).value(),
237 Extension::GetResourcePath(extension.path(), "bar/baz.js").value()); 237 Extension::GetResourcePath(extension.path(), "bar/baz.js").value());
238 EXPECT_EQ(path.Append(FILE_PATH_LITERAL("baz.js")).value(), 238 EXPECT_EQ(path.Append(FILE_PATH_LITERAL("baz.js")).value(),
239 Extension::GetResourcePath(extension.path(), "bar/../baz.js") 239 Extension::GetResourcePath(extension.path(), "bar/../baz.js")
240 .value()); 240 .value());
241 EXPECT_EQ(FilePath().value(), 241 EXPECT_EQ(FilePath().value(),
242 Extension::GetResourcePath(extension.path(), "../baz.js").value()); 242 Extension::GetResourcePath(extension.path(), "../baz.js").value());
243 } 243 }
244
245 TEST(ExtensionTest, IdIsValid) {
246 EXPECT_TRUE(Extension::IdIsValid("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"));
247 EXPECT_TRUE(Extension::IdIsValid("pppppppppppppppppppppppppppppppp"));
248 EXPECT_TRUE(Extension::IdIsValid("abcdefghijklmnopabcdefghijklmnop"));
249 EXPECT_TRUE(Extension::IdIsValid("ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOP"));
250 EXPECT_FALSE(Extension::IdIsValid("abcdefghijklmnopabcdefghijklmno"));
251 EXPECT_FALSE(Extension::IdIsValid("abcdefghijklmnopabcdefghijklmnopa"));
252 EXPECT_FALSE(Extension::IdIsValid("0123456789abcdef0123456789abcdef"));
253 EXPECT_FALSE(Extension::IdIsValid("abcdefghijklmnopabcdefghijklmnoq"));
254 EXPECT_FALSE(Extension::IdIsValid("abcdefghijklmnopabcdefghijklmno0"));
255 }
256
257 TEST(ExtensionTest, GenerateIDFromPublicKey) {
258 const uint8 public_key_info[] = {
259 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
260 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81,
261 0x89, 0x02, 0x81, 0x81, 0x00, 0xb8, 0x7f, 0x2b, 0x20, 0xdc, 0x7c, 0x9b,
262 0x0c, 0xdc, 0x51, 0x61, 0x99, 0x0d, 0x36, 0x0f, 0xd4, 0x66, 0x88, 0x08,
263 0x55, 0x84, 0xd5, 0x3a, 0xbf, 0x2b, 0xa4, 0x64, 0x85, 0x7b, 0x0c, 0x04,
264 0x13, 0x3f, 0x8d, 0xf4, 0xbc, 0x38, 0x0d, 0x49, 0xfe, 0x6b, 0xc4, 0x5a,
265 0xb0, 0x40, 0x53, 0x3a, 0xd7, 0x66, 0x09, 0x0f, 0x9e, 0x36, 0x74, 0x30,
266 0xda, 0x8a, 0x31, 0x4f, 0x1f, 0x14, 0x50, 0xd7, 0xc7, 0x20, 0x94, 0x17,
267 0xde, 0x4e, 0xb9, 0x57, 0x5e, 0x7e, 0x0a, 0xe5, 0xb2, 0x65, 0x7a, 0x89,
268 0x4e, 0xb6, 0x47, 0xff, 0x1c, 0xbd, 0xb7, 0x38, 0x13, 0xaf, 0x47, 0x85,
269 0x84, 0x32, 0x33, 0xf3, 0x17, 0x49, 0xbf, 0xe9, 0x96, 0xd0, 0xd6, 0x14,
270 0x6f, 0x13, 0x8d, 0xc5, 0xfc, 0x2c, 0x72, 0xba, 0xac, 0xea, 0x7e, 0x18,
271 0x53, 0x56, 0xa6, 0x83, 0xa2, 0xce, 0x93, 0x93, 0xe7, 0x1f, 0x0f, 0xe6,
272 0x0f, 0x02, 0x03, 0x01, 0x00, 0x01
273 };
274
275 std::string extension_id;
276 EXPECT_TRUE(
277 Extension::GenerateIdFromPublicKey(
278 std::string(reinterpret_cast<const char*>(&public_key_info[0]),
279 arraysize(public_key_info)),
280 &extension_id));
281 EXPECT_EQ("melddjfinppjdikinhbgehiennejpfhp", extension_id);
282 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698