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

Unified Diff: chrome/browser/chromeos/extensions/file_browser_manifest_unittest.cc

Issue 14020002: chromeos: Move chrome/browser/chromeos/extensions/file_browser* to chrome/browser/chromeos/file_man… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Sort Created 7 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/extensions/file_browser_manifest_unittest.cc
diff --git a/chrome/browser/chromeos/extensions/file_browser_manifest_unittest.cc b/chrome/browser/chromeos/extensions/file_browser_manifest_unittest.cc
deleted file mode 100644
index e2d21f27dc60ed50a43c0c46af7b04d095279529..0000000000000000000000000000000000000000
--- a/chrome/browser/chromeos/extensions/file_browser_manifest_unittest.cc
+++ /dev/null
@@ -1,183 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/strings/string_number_conversions.h"
-#include "chrome/browser/chromeos/extensions/file_browser_handler.h"
-#include "chrome/common/extensions/extension_builder.h"
-#include "chrome/common/extensions/extension_manifest_constants.h"
-#include "chrome/common/extensions/manifest_tests/extension_manifest_test.h"
-#include "chrome/common/extensions/manifest_url_handler.h"
-#include "chrome/common/extensions/value_builder.h"
-#include "extensions/common/error_utils.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace errors = extension_manifest_errors;
-
-using extensions::DictionaryBuilder;
-using extensions::Extension;
-using extensions::ExtensionBuilder;
-using extensions::ListBuilder;
-
-namespace {
-
-class FileBrowserHandlerManifestTest : public ExtensionManifestTest {
- virtual void SetUp() OVERRIDE {
- ExtensionManifestTest::SetUp();
- (new FileBrowserHandlerParser)->Register();
- (new extensions::URLOverridesHandler)->Register();
- }
-};
-
-TEST_F(FileBrowserHandlerManifestTest, InvalidFileBrowserHandlers) {
- Testcase testcases[] = {
- Testcase("filebrowser_invalid_access_permission.json",
- extensions::ErrorUtils::FormatErrorMessage(
- errors::kInvalidFileAccessValue, base::IntToString(1))),
- Testcase("filebrowser_invalid_access_permission_list.json",
- errors::kInvalidFileAccessList),
- Testcase("filebrowser_invalid_empty_access_permission_list.json",
- errors::kInvalidFileAccessList),
- Testcase("filebrowser_invalid_actions_1.json",
- errors::kInvalidFileBrowserHandler),
- Testcase("filebrowser_invalid_actions_2.json",
- errors::kInvalidFileBrowserHandler),
- Testcase("filebrowser_invalid_action_id.json",
- errors::kInvalidPageActionId),
- Testcase("filebrowser_invalid_action_title.json",
- errors::kInvalidPageActionDefaultTitle),
- Testcase("filebrowser_invalid_file_filters_1.json",
- errors::kInvalidFileFiltersList),
- Testcase("filebrowser_invalid_file_filters_2.json",
- extensions::ErrorUtils::FormatErrorMessage(
- errors::kInvalidFileFilterValue, base::IntToString(0))),
- Testcase("filebrowser_invalid_file_filters_url.json",
- extensions::ErrorUtils::FormatErrorMessage(
- errors::kInvalidURLPatternError, "http:*.html"))
- };
- RunTestcases(testcases, arraysize(testcases), EXPECT_TYPE_ERROR);
-}
-
-TEST_F(FileBrowserHandlerManifestTest, ValidFileBrowserHandler) {
- scoped_refptr<const Extension> extension =
- ExtensionBuilder()
- .SetManifest(DictionaryBuilder()
- .Set("name", "file browser handler test")
- .Set("version", "1.0.0")
- .Set("manifest_version", 2)
- .Set("file_browser_handlers", ListBuilder()
- .Append(DictionaryBuilder()
- .Set("id", "ExtremelyCoolAction")
- .Set("default_title", "Be Amazed")
- .Set("default_icon", "icon.png")
- .Set("file_filters", ListBuilder()
- .Append("filesystem:*.txt")))))
- .Build();
-
- ASSERT_TRUE(extension.get());
- FileBrowserHandler::List* handlers =
- FileBrowserHandler::GetHandlers(extension);
- ASSERT_TRUE(handlers != NULL);
- ASSERT_EQ(handlers->size(), 1U);
- const FileBrowserHandler* action = handlers->at(0).get();
-
- EXPECT_EQ(action->id(), "ExtremelyCoolAction");
- EXPECT_EQ(action->title(), "Be Amazed");
- EXPECT_EQ(action->icon_path(), "icon.png");
- const extensions::URLPatternSet& patterns = action->file_url_patterns();
- ASSERT_EQ(patterns.patterns().size(), 1U);
- EXPECT_TRUE(action->MatchesURL(
- GURL("filesystem:chrome-extension://foo/local/test.txt")));
- EXPECT_FALSE(action->HasCreateAccessPermission());
- EXPECT_TRUE(action->CanRead());
- EXPECT_TRUE(action->CanWrite());
-}
-
-TEST_F(FileBrowserHandlerManifestTest, ValidFileBrowserHandlerMIMETypes) {
- scoped_refptr<const Extension> extension =
- ExtensionBuilder()
- .SetID(extension_misc::kQuickOfficeExtensionId)
- .SetManifest(DictionaryBuilder()
- .Set("name", "file browser handler test")
- .Set("version", "1.0.0")
- .Set("manifest_version", 2)
- .Set("file_browser_handlers", ListBuilder()
- .Append(DictionaryBuilder()
- .Set("id", "ID")
- .Set("default_title", "Default title")
- .Set("default_icon", "icon.png")
- .Set("file_filters", ListBuilder()
- .Append("filesystem:*.txt")))))
- .Build();
-
- ASSERT_TRUE(extension.get());
- FileBrowserHandler::List* handlers =
- FileBrowserHandler::GetHandlers(extension);
- ASSERT_TRUE(handlers != NULL);
- ASSERT_EQ(handlers->size(), 1U);
- const FileBrowserHandler* action = handlers->at(0).get();
-
- const extensions::URLPatternSet& patterns = action->file_url_patterns();
- ASSERT_EQ(patterns.patterns().size(), 1U);
- EXPECT_TRUE(action->MatchesURL(
- GURL("filesystem:chrome-extension://foo/local/test.txt")));
-}
-
-TEST_F(FileBrowserHandlerManifestTest, ValidFileBrowserHandlerWithCreate) {
- scoped_refptr<const Extension> extension =
- ExtensionBuilder()
- .SetManifest(DictionaryBuilder()
- .Set("name", "file browser handler test create")
- .Set("version", "1.0.0")
- .Set("manifest_version", 2)
- .Set("file_browser_handlers", ListBuilder()
- .Append(DictionaryBuilder()
- .Set("id", "ID")
- .Set("default_title", "Default title")
- .Set("default_icon", "icon.png")
- .Set("file_filters", ListBuilder()
- .Append("filesystem:*.txt"))
- .Set("file_access", ListBuilder()
- .Append("create")))))
- .Build();
-
- ASSERT_TRUE(extension.get());
- FileBrowserHandler::List* handlers =
- FileBrowserHandler::GetHandlers(extension);
- ASSERT_TRUE(handlers != NULL);
- ASSERT_EQ(handlers->size(), 1U);
- const FileBrowserHandler* action = handlers->at(0).get();
- const extensions::URLPatternSet& patterns = action->file_url_patterns();
-
- EXPECT_EQ(patterns.patterns().size(), 0U);
- EXPECT_TRUE(action->HasCreateAccessPermission());
- EXPECT_FALSE(action->CanRead());
- EXPECT_FALSE(action->CanWrite());
-}
-
-TEST_F(FileBrowserHandlerManifestTest, FileManagerURLOverride) {
- scoped_ptr<DictionaryValue> manifest_value =
- DictionaryBuilder()
- .Set("name", "override_files")
- .Set("version", "1.0.0")
- .Set("manifest_version", 2)
- .Set("chrome_url_overrides", DictionaryBuilder()
- .Set("files", "main.html"))
- .Build();
-
- // Non component extensions can't ovverride chrome://files/ URL.
- LoadAndExpectError(Manifest(manifest_value.get(), "override_files"),
- errors::kInvalidChromeURLOverrides);
-
- // A component extention can override chrome://files/ URL.
- std::string error;
- LoadExtension(Manifest(manifest_value.get(), "override_files"),
- &error, extensions::Manifest::COMPONENT, Extension::NO_FLAGS);
-#if defined(FILE_MANAGER_EXTENSION)
- EXPECT_EQ("", error);
-#else
- EXPECT_EQ(std::string(errors::kInvalidChromeURLOverrides), error);
-#endif
-}
-
-} // namespace

Powered by Google App Engine
This is Rietveld 408576698