Windows-specific test for sys::path::remove_dots.
Differential Revision: http://reviews.llvm.org/D14503
llvm-svn: 252504
diff --git a/llvm/unittests/Support/Path.cpp b/llvm/unittests/Support/Path.cpp
index 07ad3fc..9b7cd2f 100644
--- a/llvm/unittests/Support/Path.cpp
+++ b/llvm/unittests/Support/Path.cpp
@@ -853,6 +853,18 @@
}
TEST(Support, RemoveDots) {
+#if defined(LLVM_ON_WIN32)
+ EXPECT_EQ("foolz\\wat", remove_dots(".\\.\\\\foolz\\wat", false));
+ EXPECT_EQ("", remove_dots(".\\\\\\\\\\", false));
+
+ EXPECT_EQ("a\\..\\b\\c", remove_dots(".\\a\\..\\b\\c", false));
+ EXPECT_EQ("b\\c", remove_dots(".\\a\\..\\b\\c", true));
+ EXPECT_EQ("c", remove_dots(".\\.\\c", true));
+
+ SmallString<64> Path1(".\\.\\c");
+ EXPECT_TRUE(path::remove_dots(Path1, true));
+ EXPECT_EQ("c", Path1);
+#else
EXPECT_EQ("foolz/wat", remove_dots("././/foolz/wat", false));
EXPECT_EQ("", remove_dots("./////", false));
@@ -863,5 +875,6 @@
SmallString<64> Path1("././c");
EXPECT_TRUE(path::remove_dots(Path1, true));
EXPECT_EQ("c", Path1);
+#endif
}
} // anonymous namespace