summaryrefslogtreecommitdiffstats
path: root/extensions
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-29 00:23:21 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-29 00:23:21 +0000
commit32efb04ed4044ce24a7d7c4610be4b5adcc4e4f9 (patch)
treef204d1eb03757af28a835fd84dd6caad1697301c /extensions
parentd7626ffdec1bf499baf1be6d1d52badfe95ba49c (diff)
downloadchromium_src-32efb04ed4044ce24a7d7c4610be4b5adcc4e4f9.zip
chromium_src-32efb04ed4044ce24a7d7c4610be4b5adcc4e4f9.tar.gz
chromium_src-32efb04ed4044ce24a7d7c4610be4b5adcc4e4f9.tar.bz2
Remove the chrome include in extensions\DEPS by creating a test data directory for extensions.
BUG=159265 Review URL: https://codereview.chromium.org/13198003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191253 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'extensions')
-rw-r--r--extensions/DEPS2
-rw-r--r--extensions/browser/file_reader_unittest.cc26
-rw-r--r--extensions/common/extension_paths.cc41
-rw-r--r--extensions/common/extension_paths.h27
-rw-r--r--extensions/common/extension_resource_unittest.cc4
5 files changed, 83 insertions, 17 deletions
diff --git a/extensions/DEPS b/extensions/DEPS
index 68da161..64d7efd 100644
--- a/extensions/DEPS
+++ b/extensions/DEPS
@@ -10,8 +10,6 @@ include_rules = [
# More specific rules for what we are allowed to include.
specific_include_rules = {
".*test\.cc": [
- # For chrome::TEST_DATA_DIR; test data should be migrated to src/extensions.
- "+chrome/common/chrome_paths.h",
"+content/public/test",
]
}
diff --git a/extensions/browser/file_reader_unittest.cc b/extensions/browser/file_reader_unittest.cc
index 3c3a4d2..a382cbe 100644
--- a/extensions/browser/file_reader_unittest.cc
+++ b/extensions/browser/file_reader_unittest.cc
@@ -8,16 +8,16 @@
#include "base/files/file_path.h"
#include "base/message_loop.h"
#include "base/path_service.h"
-#include "chrome/common/chrome_paths.h"
#include "content/public/test/test_browser_thread.h"
#include "extensions/browser/file_reader.h"
+#include "extensions/common/extension_paths.h"
#include "extensions/common/extension_resource.h"
#include "extensions/common/id_util.h"
#include "testing/gtest/include/gtest/gtest.h"
using content::BrowserThread;
-namespace {
+namespace extensions {
class FileReaderTest : public testing::Test {
public:
@@ -54,14 +54,14 @@ class Receiver {
void RunBasicTest(const char* filename) {
base::FilePath path;
- PathService::Get(chrome::DIR_TEST_DATA, &path);
- std::string extension_id = extensions::id_util::GenerateId("test");
- extensions::ExtensionResource resource(
+ PathService::Get(DIR_TEST_DATA, &path);
+ std::string extension_id = id_util::GenerateId("test");
+ ExtensionResource resource(
extension_id, path, base::FilePath().AppendASCII(filename));
path = path.AppendASCII(filename);
std::string file_contents;
- bool file_exists = file_util::ReadFileToString(path, &file_contents);
+ ASSERT_TRUE(file_util::ReadFileToString(path, &file_contents));
Receiver receiver;
@@ -71,23 +71,23 @@ void RunBasicTest(const char* filename) {
MessageLoop::current()->Run();
- EXPECT_EQ(file_exists, receiver.succeeded());
+ EXPECT_TRUE(receiver.succeeded());
EXPECT_EQ(file_contents, receiver.data());
}
TEST_F(FileReaderTest, SmallFile) {
- RunBasicTest("title1.html");
+ RunBasicTest("smallfile");
}
TEST_F(FileReaderTest, BiggerFile) {
- RunBasicTest("download-test1.lib");
+ RunBasicTest("bigfile");
}
TEST_F(FileReaderTest, NonExistantFile) {
base::FilePath path;
- PathService::Get(chrome::DIR_TEST_DATA, &path);
- std::string extension_id = extensions::id_util::GenerateId("test");
- extensions::ExtensionResource resource(extension_id, path, base::FilePath(
+ PathService::Get(DIR_TEST_DATA, &path);
+ std::string extension_id = id_util::GenerateId("test");
+ ExtensionResource resource(extension_id, path, base::FilePath(
FILE_PATH_LITERAL("file_that_does_not_exist")));
path = path.AppendASCII("file_that_does_not_exist");
@@ -102,4 +102,4 @@ TEST_F(FileReaderTest, NonExistantFile) {
EXPECT_FALSE(receiver.succeeded());
}
-} // namespace
+} // namespace extensions
diff --git a/extensions/common/extension_paths.cc b/extensions/common/extension_paths.cc
new file mode 100644
index 0000000..deec7d9
--- /dev/null
+++ b/extensions/common/extension_paths.cc
@@ -0,0 +1,41 @@
+// Copyright (c) 2013 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 "extensions/common/extension_paths.h"
+
+#include "base/file_util.h"
+#include "base/path_service.h"
+
+namespace extensions {
+
+bool PathProvider(int key, base::FilePath* result) {
+ switch (key) {
+ case DIR_TEST_DATA: {
+ base::FilePath cur;
+ if (!PathService::Get(base::DIR_SOURCE_ROOT, &cur))
+ return false;
+ cur = cur.Append(FILE_PATH_LITERAL("extensions"));
+ cur = cur.Append(FILE_PATH_LITERAL("test"));
+ cur = cur.Append(FILE_PATH_LITERAL("data"));
+ if (!file_util::PathExists(cur)) // we don't want to create this
+ return false;
+
+ *result = cur;
+ return true;
+ break;
+ }
+ default:
+ return false;
+ }
+
+ return false;
+}
+
+// This cannot be done as a static initializer sadly since Visual Studio will
+// eliminate this object file if there is no direct entry point into it.
+void RegisterPathProvider() {
+ PathService::RegisterProvider(PathProvider, PATH_START, PATH_END);
+}
+
+} // namespace extensions
diff --git a/extensions/common/extension_paths.h b/extensions/common/extension_paths.h
new file mode 100644
index 0000000..bbeff6a
--- /dev/null
+++ b/extensions/common/extension_paths.h
@@ -0,0 +1,27 @@
+// Copyright (c) 2013 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.
+
+#ifndef EXTENSIONS_COMMON_EXTENSION_PATHS_H_
+#define EXTENSIONS_COMMON_EXTENSION_PATHS_H_
+
+// This file declares path keys for extensions. These can be used with
+// the PathService to access various special directories and files.
+
+namespace extensions {
+
+enum {
+ PATH_START = 6000,
+
+ // Valid only in development environment
+ DIR_TEST_DATA,
+
+ PATH_END
+};
+
+// Call once to register the provider for the path keys defined above.
+void RegisterPathProvider();
+
+} // namespace extensions
+
+#endif // EXTENSIONS_COMMON_EXTENSION_PATHS_H_
diff --git a/extensions/common/extension_resource_unittest.cc b/extensions/common/extension_resource_unittest.cc
index b2983ea..132e718 100644
--- a/extensions/common/extension_resource_unittest.cc
+++ b/extensions/common/extension_resource_unittest.cc
@@ -7,8 +7,8 @@
#include "base/file_util.h"
#include "base/files/scoped_temp_dir.h"
#include "base/path_service.h"
-#include "chrome/common/chrome_paths.h"
#include "extensions/common/constants.h"
+#include "extensions/common/extension_paths.h"
#include "extensions/common/extension_resource.h"
#include "extensions/common/id_util.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -33,7 +33,7 @@ const base::FilePath::StringType ToLower(
TEST(ExtensionResourceTest, CreateWithMissingResourceOnDisk) {
base::FilePath root_path;
- ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &root_path));
+ ASSERT_TRUE(PathService::Get(DIR_TEST_DATA, &root_path));
base::FilePath relative_path;
relative_path = relative_path.AppendASCII("cira.js");
std::string extension_id = id_util::GenerateId("test");