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

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

Issue 7692003: Revert 97482 - Apps/Extensions Sync refactoring -- delete most of the old glue, implement new syn... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 4 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
« no previous file with comments | « chrome/common/extensions/extension.cc ('k') | no next file » | 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/extension.h" 5 #include "chrome/common/extensions/extension.h"
6 6
7 #include "base/format_macros.h" 7 #include "base/format_macros.h"
8 #include "base/file_path.h" 8 #include "base/file_path.h"
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
(...skipping 784 matching lines...) Expand 10 before | Expand all | Expand 10 after
795 EXPECT_TRUE(Extension::GenerateId("test", &result)); 795 EXPECT_TRUE(Extension::GenerateId("test", &result));
796 EXPECT_EQ(result, "jpignaibiiemhngfjkcpokkamffknabf"); 796 EXPECT_EQ(result, "jpignaibiiemhngfjkcpokkamffknabf");
797 797
798 EXPECT_TRUE(Extension::GenerateId("_", &result)); 798 EXPECT_TRUE(Extension::GenerateId("_", &result));
799 EXPECT_EQ(result, "ncocknphbhhlhkikpnnlmbcnbgdempcd"); 799 EXPECT_EQ(result, "ncocknphbhhlhkikpnnlmbcnbgdempcd");
800 800
801 EXPECT_TRUE(Extension::GenerateId( 801 EXPECT_TRUE(Extension::GenerateId(
802 "this_string_is_longer_than_a_single_sha256_hash_digest", &result)); 802 "this_string_is_longer_than_a_single_sha256_hash_digest", &result));
803 EXPECT_EQ(result, "jimneklojkjdibfkgiiophfhjhbdgcfi"); 803 EXPECT_EQ(result, "jimneklojkjdibfkgiiophfhjhbdgcfi");
804 } 804 }
805
806 namespace {
807 enum SyncTestExtensionType {
808 EXTENSION,
809 USER_SCRIPT,
810 THEME
811 };
812
813 static scoped_refptr<Extension> MakeSyncTestExtension(
814 SyncTestExtensionType type,
815 const GURL& update_url,
816 const GURL& launch_url,
817 Extension::Location location,
818 int num_plugins,
819 const FilePath& extension_path) {
820 DictionaryValue source;
821 source.SetString(extension_manifest_keys::kName,
822 "PossiblySyncableExtension");
823 source.SetString(extension_manifest_keys::kVersion, "0.0.0.0");
824 if (type == THEME) {
825 source.Set(extension_manifest_keys::kTheme, new DictionaryValue());
826 }
827 if (!update_url.is_empty()) {
828 source.SetString(extension_manifest_keys::kUpdateURL,
829 update_url.spec());
830 }
831 if (!launch_url.is_empty()) {
832 source.SetString(extension_manifest_keys::kLaunchWebURL,
833 launch_url.spec());
834 }
835 if (type != THEME) {
836 source.SetBoolean(extension_manifest_keys::kConvertedFromUserScript,
837 type == USER_SCRIPT);
838 ListValue* plugins = new ListValue();
839 for (int i = 0; i < num_plugins; ++i) {
840 DictionaryValue* plugin = new DictionaryValue();
841 plugin->SetString(extension_manifest_keys::kPluginsPath, "");
842 plugins->Set(i, plugin);
843 }
844 source.Set(extension_manifest_keys::kPlugins, plugins);
845 }
846
847 std::string error;
848 scoped_refptr<Extension> extension = Extension::Create(
849 extension_path, location, source, Extension::STRICT_ERROR_CHECKS, &error);
850 EXPECT_TRUE(extension);
851 EXPECT_EQ("", error);
852 return extension;
853 }
854
855 static const char kValidUpdateUrl1[] =
856 "http://clients2.google.com/service/update2/crx";
857 static const char kValidUpdateUrl2[] =
858 "https://clients2.google.com/service/update2/crx";
859 }
860
861 TEST(ExtensionTest, GetSyncTypeNormalExtensionNoUpdateUrl) {
862 scoped_refptr<Extension> extension(
863 MakeSyncTestExtension(EXTENSION, GURL(), GURL(),
864 Extension::INTERNAL, 0, FilePath()));
865 EXPECT_NE(extension->GetSyncType(), Extension::SYNC_TYPE_NONE);
866 }
867
868 TEST(ExtensionTest, GetSyncTypeUserScriptValidUpdateUrl) {
869 scoped_refptr<Extension> extension(
870 MakeSyncTestExtension(USER_SCRIPT, GURL(kValidUpdateUrl1), GURL(),
871 Extension::INTERNAL, 0, FilePath()));
872 EXPECT_NE(extension->GetSyncType(), Extension::SYNC_TYPE_NONE);
873 }
874
875 TEST(ExtensionTest, GetSyncTypeUserScriptNoUpdateUrl) {
876 scoped_refptr<Extension> extension(
877 MakeSyncTestExtension(USER_SCRIPT, GURL(), GURL(),
878 Extension::INTERNAL, 0, FilePath()));
879 EXPECT_EQ(extension->GetSyncType(), Extension::SYNC_TYPE_NONE);
880 }
881
882 TEST(ExtensionTest, GetSyncTypeThemeNoUpdateUrl) {
883 scoped_refptr<Extension> extension(
884 MakeSyncTestExtension(THEME, GURL(), GURL(),
885 Extension::INTERNAL, 0, FilePath()));
886 EXPECT_EQ(extension->GetSyncType(), Extension::SYNC_TYPE_NONE);
887 }
888
889 TEST(ExtensionTest, GetSyncTypeExtensionWithLaunchUrl) {
890 scoped_refptr<Extension> extension(
891 MakeSyncTestExtension(EXTENSION, GURL(), GURL("http://www.google.com"),
892 Extension::INTERNAL, 0, FilePath()));
893 EXPECT_NE(extension->GetSyncType(), Extension::SYNC_TYPE_NONE);
894 }
895
896 TEST(ExtensionTest, GetSyncTypeExtensionExternal) {
897 scoped_refptr<Extension> extension(
898 MakeSyncTestExtension(EXTENSION, GURL(), GURL(),
899 Extension::EXTERNAL_PREF, 0, FilePath()));
900 EXPECT_EQ(extension->GetSyncType(), Extension::SYNC_TYPE_NONE);
901 }
902
903 TEST(ExtensionTest, GetSyncTypeUserScriptThirdPartyUpdateUrl) {
904 scoped_refptr<Extension> extension(
905 MakeSyncTestExtension(
906 USER_SCRIPT, GURL("http://third-party.update_url.com"), GURL(),
907 Extension::INTERNAL, 0, FilePath()));
908 EXPECT_EQ(extension->GetSyncType(), Extension::SYNC_TYPE_NONE);
909 }
910
911 // These last 2 tests don't make sense on Chrome OS, where extension plugins
912 // are not allowed.
913 #if !defined(OS_CHROMEOS)
914 TEST(ExtensionTest, GetSyncTypeExtensionWithPlugin) {
915 scoped_refptr<Extension> extension(
916 MakeSyncTestExtension(EXTENSION, GURL(), GURL(),
917 Extension::INTERNAL, 1, FilePath()));
918 if (extension)
919 EXPECT_EQ(extension->GetSyncType(), Extension::SYNC_TYPE_NONE);
920 }
921
922 TEST(ExtensionTest, GetSyncTypeExtensionWithTwoPlugins) {
923 scoped_refptr<Extension> extension(
924 MakeSyncTestExtension(EXTENSION, GURL(), GURL(),
925 Extension::INTERNAL, 2, FilePath()));
926 if (extension)
927 EXPECT_EQ(extension->GetSyncType(), Extension::SYNC_TYPE_NONE);
928 }
929 #endif // !defined(OS_CHROMEOS)
OLDNEW
« no previous file with comments | « chrome/common/extensions/extension.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698