diff options
Diffstat (limited to 'tools/gn/path_output_unittest.cc')
-rw-r--r-- | tools/gn/path_output_unittest.cc | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/tools/gn/path_output_unittest.cc b/tools/gn/path_output_unittest.cc index 5133b79..49f29c9 100644 --- a/tools/gn/path_output_unittest.cc +++ b/tools/gn/path_output_unittest.cc @@ -24,6 +24,14 @@ TEST(PathOutput, Basic) { writer.WriteFile(out, SourceFile("//foo.cc")); EXPECT_EQ("../../foo.cc", out.str()); } + { + // Files in the output dir. + std::ostringstream out; + writer.WriteFile(out, SourceFile("//out/Debug/foo.cc")); + out << " "; + writer.WriteFile(out, SourceFile("//out/Debug/bar/baz.cc")); + EXPECT_EQ("foo.cc bar/baz.cc", out.str()); + } #if defined(OS_WIN) { // System-absolute path. @@ -170,9 +178,41 @@ TEST(PathOutput, WriteDir) { { std::ostringstream out; writer.WriteDir(out, SourceDir("/"), - PathOutput::DIR_NO_LAST_SLASH); + PathOutput::DIR_INCLUDE_LAST_SLASH); EXPECT_EQ("/", out.str()); } + { + std::ostringstream out; + writer.WriteDir(out, SourceDir("/"), + PathOutput::DIR_NO_LAST_SLASH); + EXPECT_EQ("/.", out.str()); + } + + // Output inside current dir. + { + std::ostringstream out; + writer.WriteDir(out, SourceDir("//out/Debug/"), + PathOutput::DIR_INCLUDE_LAST_SLASH); + EXPECT_EQ("./", out.str()); + } + { + std::ostringstream out; + writer.WriteDir(out, SourceDir("//out/Debug/"), + PathOutput::DIR_NO_LAST_SLASH); + EXPECT_EQ(".", out.str()); + } + { + std::ostringstream out; + writer.WriteDir(out, SourceDir("//out/Debug/foo/"), + PathOutput::DIR_INCLUDE_LAST_SLASH); + EXPECT_EQ("foo/", out.str()); + } + { + std::ostringstream out; + writer.WriteDir(out, SourceDir("//out/Debug/foo/"), + PathOutput::DIR_NO_LAST_SLASH); + EXPECT_EQ("foo", out.str()); + } } { // Empty build dir writer. |