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_tests/extension_manifests_initvalue_unittest.cc

Issue 11786003: Move Icons out of Extension class (Closed) Base URL: http://git.chromium.org/chromium/src.git@dc_unref_browser_action
Patch Set: License year update Created 7 years, 11 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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_tests/extension_manifest_test.h" 5 #include "chrome/common/extensions/manifest_tests/extension_manifest_test.h"
6 6
7 #include "base/i18n/rtl.h" 7 #include "base/i18n/rtl.h"
8 #include "base/path_service.h" 8 #include "base/path_service.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "chrome/common/chrome_paths.h" 10 #include "chrome/common/chrome_paths.h"
11 #include "chrome/common/extensions/api/icons/icons_handler.h"
11 #include "chrome/common/extensions/extension.h" 12 #include "chrome/common/extensions/extension.h"
12 #include "chrome/common/extensions/extension_manifest_constants.h" 13 #include "chrome/common/extensions/extension_manifest_constants.h"
14 #include "chrome/common/extensions/manifest_handler.h"
13 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
14 #include "ui/base/l10n/l10n_util.h" 16 #include "ui/base/l10n/l10n_util.h"
15 17
16 #if defined(TOOLKIT_GTK) 18 #if defined(TOOLKIT_GTK)
17 #include <gtk/gtk.h> 19 #include <gtk/gtk.h>
18 #endif 20 #endif
19 21
20 namespace errors = extension_manifest_errors; 22 namespace errors = extension_manifest_errors;
21 23
22 TEST_F(ExtensionManifestTest, InitFromValueInvalid) { 24 namespace extensions {
25
26 class InitFromValueManifestTest : public ExtensionManifestTest {
27 protected:
28 virtual void SetUp() OVERRIDE {
29 ExtensionManifestTest::SetUp();
30 ManifestHandler::Register(extension_manifest_keys::kIcons,
31 new IconsHandler);
32 }
33 };
34
35 TEST_F(InitFromValueManifestTest, InitFromValueInvalid) {
23 Testcase testcases[] = { 36 Testcase testcases[] = {
24 Testcase("init_invalid_version_missing.json", errors::kInvalidVersion), 37 Testcase("init_invalid_version_missing.json", errors::kInvalidVersion),
25 Testcase("init_invalid_version_invalid.json", errors::kInvalidVersion), 38 Testcase("init_invalid_version_invalid.json", errors::kInvalidVersion),
26 Testcase("init_invalid_name_missing.json", errors::kInvalidName), 39 Testcase("init_invalid_name_missing.json", errors::kInvalidName),
27 Testcase("init_invalid_name_invalid.json", errors::kInvalidName), 40 Testcase("init_invalid_name_invalid.json", errors::kInvalidName),
28 Testcase("init_invalid_description_invalid.json", 41 Testcase("init_invalid_description_invalid.json",
29 errors::kInvalidDescription), 42 errors::kInvalidDescription),
30 Testcase("init_invalid_icons_invalid.json", errors::kInvalidIcons), 43 Testcase("init_invalid_icons_invalid.json", errors::kInvalidIcons),
31 Testcase("init_invalid_icons_path_invalid.json", errors::kInvalidIconPath), 44 Testcase("init_invalid_icons_path_invalid.json", errors::kInvalidIconPath),
32 Testcase("init_invalid_script_invalid.json", 45 Testcase("init_invalid_script_invalid.json",
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 Testcase("init_invalid_min_chrome_invalid.json", 77 Testcase("init_invalid_min_chrome_invalid.json",
65 errors::kInvalidMinimumChromeVersion), 78 errors::kInvalidMinimumChromeVersion),
66 Testcase("init_invalid_chrome_version_too_low.json", 79 Testcase("init_invalid_chrome_version_too_low.json",
67 errors::kChromeVersionTooLow), 80 errors::kChromeVersionTooLow),
68 }; 81 };
69 82
70 RunTestcases(testcases, arraysize(testcases), 83 RunTestcases(testcases, arraysize(testcases),
71 EXPECT_TYPE_ERROR); 84 EXPECT_TYPE_ERROR);
72 } 85 }
73 86
74 TEST_F(ExtensionManifestTest, InitFromValueValid) { 87 TEST_F(InitFromValueManifestTest, InitFromValueValid) {
75 scoped_refptr<extensions::Extension> extension(LoadAndExpectSuccess( 88 scoped_refptr<Extension> extension(LoadAndExpectSuccess(
76 "init_valid_minimal.json")); 89 "init_valid_minimal.json"));
77 90
78 FilePath path; 91 FilePath path;
79 PathService::Get(chrome::DIR_TEST_DATA, &path); 92 PathService::Get(chrome::DIR_TEST_DATA, &path);
80 path = path.AppendASCII("extensions"); 93 path = path.AppendASCII("extensions");
81 94
82 EXPECT_TRUE(extensions::Extension::IdIsValid(extension->id())); 95 EXPECT_TRUE(Extension::IdIsValid(extension->id()));
83 EXPECT_EQ("1.0.0.0", extension->VersionString()); 96 EXPECT_EQ("1.0.0.0", extension->VersionString());
84 EXPECT_EQ("my extension", extension->name()); 97 EXPECT_EQ("my extension", extension->name());
85 EXPECT_EQ(extension->id(), extension->url().host()); 98 EXPECT_EQ(extension->id(), extension->url().host());
86 EXPECT_EQ(extension->path(), path); 99 EXPECT_EQ(extension->path(), path);
87 EXPECT_EQ(path, extension->path()); 100 EXPECT_EQ(path, extension->path());
88 101
89 // Test permissions scheme. 102 // Test permissions scheme.
90 // We allow unknown API permissions, so this will be valid until we better 103 // We allow unknown API permissions, so this will be valid until we better
91 // distinguish between API and host permissions. 104 // distinguish between API and host permissions.
92 LoadAndExpectSuccess("init_valid_permissions.json"); 105 LoadAndExpectSuccess("init_valid_permissions.json");
(...skipping 22 matching lines...) Expand all
115 128
116 // We allow unknown API permissions, so this will be valid until we better 129 // We allow unknown API permissions, so this will be valid until we better
117 // distinguish between API and host permissions. 130 // distinguish between API and host permissions.
118 Testcase("init_valid_permissions_unknown.json") 131 Testcase("init_valid_permissions_unknown.json")
119 }; 132 };
120 133
121 RunTestcases(testcases, arraysize(testcases), 134 RunTestcases(testcases, arraysize(testcases),
122 EXPECT_TYPE_SUCCESS); 135 EXPECT_TYPE_SUCCESS);
123 } 136 }
124 137
125 TEST_F(ExtensionManifestTest, InitFromValueValidNameInRTL) { 138 TEST_F(InitFromValueManifestTest, InitFromValueValidNameInRTL) {
126 #if defined(TOOLKIT_GTK) 139 #if defined(TOOLKIT_GTK)
127 GtkTextDirection gtk_dir = gtk_widget_get_default_direction(); 140 GtkTextDirection gtk_dir = gtk_widget_get_default_direction();
128 gtk_widget_set_default_direction(GTK_TEXT_DIR_RTL); 141 gtk_widget_set_default_direction(GTK_TEXT_DIR_RTL);
129 #else 142 #else
130 std::string locale = l10n_util::GetApplicationLocale(""); 143 std::string locale = l10n_util::GetApplicationLocale("");
131 base::i18n::SetICUDefaultLocale("he"); 144 base::i18n::SetICUDefaultLocale("he");
132 #endif 145 #endif
133 146
134 // No strong RTL characters in name. 147 // No strong RTL characters in name.
135 scoped_refptr<extensions::Extension> extension(LoadAndExpectSuccess( 148 scoped_refptr<Extension> extension(LoadAndExpectSuccess(
136 "init_valid_name_no_rtl.json")); 149 "init_valid_name_no_rtl.json"));
137 150
138 string16 localized_name(ASCIIToUTF16("Dictionary (by Google)")); 151 string16 localized_name(ASCIIToUTF16("Dictionary (by Google)"));
139 base::i18n::AdjustStringForLocaleDirection(&localized_name); 152 base::i18n::AdjustStringForLocaleDirection(&localized_name);
140 EXPECT_EQ(localized_name, UTF8ToUTF16(extension->name())); 153 EXPECT_EQ(localized_name, UTF8ToUTF16(extension->name()));
141 154
142 // Strong RTL characters in name. 155 // Strong RTL characters in name.
143 extension = LoadAndExpectSuccess("init_valid_name_strong_rtl.json"); 156 extension = LoadAndExpectSuccess("init_valid_name_strong_rtl.json");
144 157
145 localized_name = WideToUTF16(L"Dictionary (\x05D1\x05D2"L" Google)"); 158 localized_name = WideToUTF16(L"Dictionary (\x05D1\x05D2"L" Google)");
146 base::i18n::AdjustStringForLocaleDirection(&localized_name); 159 base::i18n::AdjustStringForLocaleDirection(&localized_name);
147 EXPECT_EQ(localized_name, UTF8ToUTF16(extension->name())); 160 EXPECT_EQ(localized_name, UTF8ToUTF16(extension->name()));
148 161
149 // Reset locale. 162 // Reset locale.
150 #if defined(TOOLKIT_GTK) 163 #if defined(TOOLKIT_GTK)
151 gtk_widget_set_default_direction(gtk_dir); 164 gtk_widget_set_default_direction(gtk_dir);
152 #else 165 #else
153 base::i18n::SetICUDefaultLocale(locale); 166 base::i18n::SetICUDefaultLocale(locale);
154 #endif 167 #endif
155 } 168 }
169
170 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698