| // Copyright 2015 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/files/file_path.h" |
| #include "base/path_service.h" |
| #include "chromecast/base/path_utils.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| namespace chromecast { |
| namespace { |
| const char kTestRelPath[] = "rel/path"; |
| const char kTestAbsPath[] = "/abs/path/to/dir"; |
| |
| std::string GetTestString(int base_dir_key) { |
| base::FilePath basedir; |
| EXPECT_TRUE(PathService::Get(base_dir_key, &basedir)); |
| return basedir.value() + "/" + kTestRelPath; |
| } |
| |
| } // namespace |
| |
| TEST(PathUtilsTest, GetHomePath) { |
| // Test with relative path. |
| std::string expected = GetTestString(base::DIR_HOME); |
| base::FilePath actual = GetHomePath(base::FilePath(kTestRelPath)); |
| EXPECT_EQ(expected, actual.value()); |
| |
| // Test with absolute path. |
| actual = GetHomePath(base::FilePath(kTestAbsPath)); |
| EXPECT_EQ(kTestAbsPath, actual.value()); |
| } |
| |
| TEST(PathUtilsTest, GetBinPath) { |
| // Test with relative path. |
| std::string expected = GetTestString(base::DIR_EXE); |
| base::FilePath actual = GetBinPath(base::FilePath(kTestRelPath)); |
| EXPECT_EQ(expected, actual.value()); |
| |
| // Test with absolute path. |
| actual = GetBinPath(base::FilePath(kTestAbsPath)); |
| EXPECT_EQ(kTestAbsPath, actual.value()); |
| } |
| |
| TEST(PathUtilsTest, GetTmpPath) { |
| // Test with relative path. |
| std::string expected = GetTestString(base::DIR_TEMP); |
| base::FilePath actual = GetTmpPath(base::FilePath(kTestRelPath)); |
| EXPECT_EQ(expected, actual.value()); |
| |
| // Test with absolute path. |
| actual = GetTmpPath(base::FilePath(kTestAbsPath)); |
| EXPECT_EQ(kTestAbsPath, actual.value()); |
| } |
| |
| } // chromecast |