summaryrefslogtreecommitdiffstats
path: root/cc/test/paths.cc
diff options
context:
space:
mode:
authorjamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-07 08:52:03 +0000
committerjamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-07 08:52:03 +0000
commit1b901a3348e02376b2cd95f52cf86cc0787c63c6 (patch)
treee1b3fed2484988ebf7a7302b5fe89792215f418f /cc/test/paths.cc
parent82a5c3c0c0bc28dd0fa1ff1a8dab7c6c383b3c49 (diff)
downloadchromium_src-1b901a3348e02376b2cd95f52cf86cc0787c63c6.zip
chromium_src-1b901a3348e02376b2cd95f52cf86cc0787c63c6.tar.gz
chromium_src-1b901a3348e02376b2cd95f52cf86cc0787c63c6.tar.bz2
Basic pixel tests for cc
BUG= Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=171544 Review URL: https://chromiumcodereview.appspot.com/11412289 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171735 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/test/paths.cc')
-rw-r--r--cc/test/paths.cc44
1 files changed, 44 insertions, 0 deletions
diff --git a/cc/test/paths.cc b/cc/test/paths.cc
new file mode 100644
index 0000000..3551afb
--- /dev/null
+++ b/cc/test/paths.cc
@@ -0,0 +1,44 @@
+// 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 "cc/test/paths.h"
+
+#include "base/file_path.h"
+#include "base/file_util.h"
+#include "base/path_service.h"
+
+namespace cc {
+namespace test {
+
+bool PathProvider(int key, FilePath* result) {
+ FilePath cur;
+ switch (key) {
+ // The following are only valid in the development environment, and
+ // will fail if executed from an installed executable (because the
+ // generated path won't exist).
+ case DIR_TEST_DATA:
+ if (!PathService::Get(base::DIR_SOURCE_ROOT, &cur))
+ return false;
+ cur = cur.Append(FILE_PATH_LITERAL("cc"));
+ 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;
+ break;
+ default:
+ return false;
+ }
+
+ *result = cur;
+ return true;
+}
+
+// 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 test
+} // namespace cc