Index: chrome/common/extensions/manifest_tests/extension_manifests_initvalue_unittest.cc |
diff --git a/chrome/common/extensions/manifest_tests/extension_manifests_initvalue_unittest.cc b/chrome/common/extensions/manifest_tests/extension_manifests_initvalue_unittest.cc |
index c82a41ea4e8a5580fe277895d8763ca66b69bfc1..0351e6e38e0d95ceb56f60489f6ab29d4b528879 100644 |
--- a/chrome/common/extensions/manifest_tests/extension_manifests_initvalue_unittest.cc |
+++ b/chrome/common/extensions/manifest_tests/extension_manifests_initvalue_unittest.cc |
@@ -2,6 +2,7 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
+#include "base/command_line.h" |
#include "base/i18n/rtl.h" |
#include "base/path_service.h" |
#include "base/strings/utf_string_conversions.h" |
@@ -10,18 +11,29 @@ |
#include "chrome/common/extensions/manifest_url_handler.h" |
#include "extensions/common/extension.h" |
#include "extensions/common/manifest_constants.h" |
+#include "extensions/common/switches.h" |
#include "testing/gtest/include/gtest/gtest.h" |
#include "ui/base/l10n/l10n_util.h" |
namespace extensions { |
+namespace { |
+ |
+// The ID of test manifests requiring whitelisting. |
+const char kWhitelistID[] = "lmadimbbgapmngbiclpjjngmdickadpl"; |
+ |
+} // namespace |
+ |
namespace errors = manifest_errors; |
namespace keys = manifest_keys; |
class InitValueManifestTest : public ExtensionManifestTest { |
}; |
+ |
calamity
2014/08/21 02:53:08
nit: remove whitespace.
Matt Giuca
2014/08/22 02:48:40
Done.
|
TEST_F(InitValueManifestTest, InitFromValueInvalid) { |
+ CommandLine::ForCurrentProcess()->AppendSwitchASCII( |
+ extensions::switches::kWhitelistedExtensionID, kWhitelistID); |
Testcase testcases[] = { |
Testcase("init_invalid_version_missing.json", errors::kInvalidVersion), |
Testcase("init_invalid_version_invalid.json", errors::kInvalidVersion), |
@@ -31,6 +43,12 @@ TEST_F(InitValueManifestTest, InitFromValueInvalid) { |
errors::kInvalidDescription), |
Testcase("init_invalid_icons_invalid.json", errors::kInvalidIcons), |
Testcase("init_invalid_icons_path_invalid.json", errors::kInvalidIconPath), |
+ Testcase("init_invalid_launcher_page_invalid.json", |
+ errors::kInvalidLauncherPage), |
+ Testcase("init_invalid_launcher_page_page_missing.json", |
+ errors::kLauncherPagePageRequired), |
+ Testcase("init_invalid_launcher_page_page_invalid.json", |
+ errors::kInvalidLauncherPagePage), |
Testcase("init_invalid_script_invalid.json", |
errors::kInvalidContentScriptsList), |
Testcase("init_invalid_script_item_invalid.json", |
@@ -72,12 +90,13 @@ TEST_F(InitValueManifestTest, InitFromValueInvalid) { |
Testcase("init_invalid_short_name_type.json", |
errors::kInvalidShortName), |
}; |
- |
RunTestcases(testcases, arraysize(testcases), |
calamity
2014/08/21 02:53:08
nit: add whitespace back.
Matt Giuca
2014/08/22 02:48:40
Done.
|
EXPECT_TYPE_ERROR); |
} |
TEST_F(InitValueManifestTest, InitFromValueValid) { |
+ CommandLine::ForCurrentProcess()->AppendSwitchASCII( |
+ extensions::switches::kWhitelistedExtensionID, kWhitelistID); |
scoped_refptr<Extension> extension(LoadAndExpectSuccess( |
"init_valid_minimal.json")); |
@@ -129,7 +148,10 @@ TEST_F(InitValueManifestTest, InitFromValueValid) { |
// We allow unknown API permissions, so this will be valid until we better |
// distinguish between API and host permissions. |
- Testcase("init_valid_permissions_unknown.json") |
+ Testcase("init_valid_permissions_unknown.json"), |
+ |
+ // Test an app with a launcher_page section. |
+ Testcase("init_valid_launcher_page.json") |
}; |
RunTestcases(testcases, arraysize(testcases), |