From da4cf2cda9456f16cbaaae1d8bb5883bad798f15 Mon Sep 17 00:00:00 2001 From: Mike Aizatsky Date: Mon, 9 Nov 2015 19:36:53 +0000 Subject: [PATCH] Windows-specific test for sys::path::remove_dots. Differential Revision: http://reviews.llvm.org/D14503 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252504 91177308-0d34-0410-b5e6-96231b3b80d8 --- unittests/Support/Path.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/unittests/Support/Path.cpp b/unittests/Support/Path.cpp index 07ad3fc6b63..9b7cd2fbdbb 100644 --- a/unittests/Support/Path.cpp +++ b/unittests/Support/Path.cpp @@ -853,6 +853,18 @@ static std::string remove_dots(StringRef path, } 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 @@ TEST(Support, RemoveDots) { SmallString<64> Path1("././c"); EXPECT_TRUE(path::remove_dots(Path1, true)); EXPECT_EQ("c", Path1); +#endif } } // anonymous namespace -- 2.34.1