summaryrefslogtreecommitdiffstats
path: root/tools/gn/path_output_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gn/path_output_unittest.cc')
-rw-r--r--tools/gn/path_output_unittest.cc42
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.