summaryrefslogtreecommitdiffstats
path: root/chrome/common/extensions/extension_unittest.cc
diff options
context:
space:
mode:
authoraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-06 06:17:54 +0000
committeraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-06 06:17:54 +0000
commit84ac7f362e565c096851a783ca7163b78e19b659 (patch)
tree7f671e9c025e4e4b37468240e9be7a28926f6a7c /chrome/common/extensions/extension_unittest.cc
parent17492f531825be1522991579c1a1bd6af2d8c4b1 (diff)
downloadchromium_src-84ac7f362e565c096851a783ca7163b78e19b659.zip
chromium_src-84ac7f362e565c096851a783ca7163b78e19b659.tar.gz
chromium_src-84ac7f362e565c096851a783ca7163b78e19b659.tar.bz2
Generate IDs for --load-extension by hashing the path instead
of incrementing a static counter. BUG=21281 TEST=Load an unpacked extension from chrome://extensions/ that does not have an ID in its manifest. The resulting ID should be random-looking, not something like "aaaaaa". Review URL: http://codereview.chromium.org/256049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28095 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/extensions/extension_unittest.cc')
-rw-r--r--chrome/common/extensions/extension_unittest.cc34
1 files changed, 23 insertions, 11 deletions
diff --git a/chrome/common/extensions/extension_unittest.cc b/chrome/common/extensions/extension_unittest.cc
index fc024ab..466f27a 100644
--- a/chrome/common/extensions/extension_unittest.cc
+++ b/chrome/common/extensions/extension_unittest.cc
@@ -227,8 +227,6 @@ TEST(ExtensionTest, InitFromValueValid) {
#elif defined(OS_POSIX)
FilePath path(FILE_PATH_LITERAL("/foo"));
#endif
- Extension::ResetGeneratedIdCounter();
-
Extension extension(path);
std::string error;
DictionaryValue input_value;
@@ -239,11 +237,10 @@ TEST(ExtensionTest, InitFromValueValid) {
EXPECT_TRUE(extension.InitFromValue(input_value, false, &error));
EXPECT_EQ("", error);
- EXPECT_EQ("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", extension.id());
+ EXPECT_TRUE(Extension::IdIsValid(extension.id()));
EXPECT_EQ("1.0.0.0", extension.VersionString());
EXPECT_EQ("my extension", extension.name());
- EXPECT_EQ("chrome-extension://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/",
- extension.url().spec());
+ EXPECT_EQ(extension.id(), extension.url().host());
EXPECT_EQ(path.value(), extension.path().value());
}
@@ -277,7 +274,12 @@ TEST(ExtensionTest, GetResourceURLAndPath) {
}
TEST(ExtensionTest, LoadPageActionHelper) {
- Extension extension;
+#if defined(OS_WIN)
+ FilePath path(StringPrintf(L"c:\\extension"));
+#else
+ FilePath path(StringPrintf("/extension"));
+#endif
+ Extension extension(path);
std::string error_msg;
scoped_ptr<ExtensionAction> action;
DictionaryValue input;
@@ -424,7 +426,7 @@ TEST(ExtensionTest, IdIsValid) {
EXPECT_FALSE(Extension::IdIsValid("abcdefghijklmnopabcdefghijklmno0"));
}
-TEST(ExtensionTest, GenerateIDFromPublicKey) {
+TEST(ExtensionTest, GenerateID) {
const uint8 public_key_info[] = {
0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81,
@@ -444,7 +446,7 @@ TEST(ExtensionTest, GenerateIDFromPublicKey) {
std::string extension_id;
EXPECT_TRUE(
- Extension::GenerateIdFromPublicKey(
+ Extension::GenerateId(
std::string(reinterpret_cast<const char*>(&public_key_info[0]),
arraysize(public_key_info)),
&extension_id));
@@ -463,7 +465,12 @@ TEST(ExtensionTest, UpdateUrls) {
EXPECT_TRUE(url.is_valid());
DictionaryValue input_value;
- Extension extension;
+#if defined(OS_WIN)
+ FilePath path(StringPrintf(L"c:\\extension%i", i));
+#else
+ FilePath path(StringPrintf("/extension%i", i));
+#endif
+ Extension extension(path);
std::string error;
input_value.SetString(keys::kVersion, "1.0");
@@ -480,7 +487,12 @@ TEST(ExtensionTest, UpdateUrls) {
valid.push_back("http://test.com/update#whatever");
for (size_t i = 0; i < invalid.size(); i++) {
DictionaryValue input_value;
- Extension extension;
+#if defined(OS_WIN)
+ FilePath path(StringPrintf(L"c:\\extension%i", i));
+#else
+ FilePath path(StringPrintf("/extension%i", i));
+#endif
+ Extension extension(path);
std::string error;
input_value.SetString(keys::kVersion, "1.0");
input_value.SetString(keys::kName, "Test");
@@ -529,7 +541,7 @@ static Extension* LoadManifest(const std::string& dir,
return NULL;
std::string error;
- scoped_ptr<Extension> extension(new Extension);
+ scoped_ptr<Extension> extension(new Extension(path.DirName()));
extension->InitFromValue(*static_cast<DictionaryValue*>(result.get()),
false, &error);