| // Copyright 2015 The PDFium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef TESTING_UTILS_PATH_SERVICE_H_ |
| #define TESTING_UTILS_PATH_SERVICE_H_ |
| |
| #include <string> |
| |
| #ifdef _WIN32 |
| #define PATH_SEPARATOR '\\' |
| #else |
| #define PATH_SEPARATOR '/' |
| #endif |
| |
| // Get the various file directory and path information. |
| class PathService { |
| public: |
| // Returns true when the path is a directory that exists. |
| static bool DirectoryExists(const std::string& path); |
| |
| // Returns true when the path ends with a path separator. |
| static bool EndsWithSeparator(const std::string& path); |
| |
| // Retrieves the directory where executables run from. |
| // Returns an empty string on failure. |
| static std::string GetExecutableDir(); |
| |
| // Retrieves the root directory of the source tree. |
| // Assumes executables always run from out/<build_dir_name>/, so the source |
| // directory is two levels above the executable directory. |
| // Returns an empty string on failure. |
| static std::string GetSourceDir(); |
| |
| // Retrieves the test data directory where test files are stored. |
| // Tries <source_dir>/testing/resources/ first. If it does not exist, tries |
| // checking <source_dir>/third_party/pdfium/testing/resources/. |
| // Returns an empty string on failure. |
| static std::string GetTestDataDir(); |
| |
| // Gets the full path for a test file under the test data directory. |
| // Returns an empty string on failure. |
| static std::string GetTestFilePath(const std::string& file_name); |
| |
| // Gets the full path for a file under the third-party directory. |
| // Returns an empty string on failure. |
| static std::string GetThirdPartyFilePath(const std::string& file_name); |
| }; |
| #endif // TESTING_UTILS_PATH_SERVICE_H_ |