diff options
Diffstat (limited to 'unittests/Utility/TildeExpressionResolverTest.cpp')
| -rw-r--r-- | unittests/Utility/TildeExpressionResolverTest.cpp | 36 | 
1 files changed, 36 insertions, 0 deletions
diff --git a/unittests/Utility/TildeExpressionResolverTest.cpp b/unittests/Utility/TildeExpressionResolverTest.cpp new file mode 100644 index 000000000000..fd953390ed5d --- /dev/null +++ b/unittests/Utility/TildeExpressionResolverTest.cpp @@ -0,0 +1,36 @@ +#include "gtest/gtest.h" + +#include "Mocks/MockTildeExpressionResolver.h" +#include "lldb/Utility/TildeExpressionResolver.h" + +#include "llvm/ADT/SmallString.h" + +using namespace llvm; +using namespace lldb_private; + +TEST(TildeExpressionResolver, ResolveFullPath) { +  MockTildeExpressionResolver Resolver("James", "/james"); +  Resolver.AddKnownUser("Kirk", "/kirk"); +  Resolver.AddKnownUser("Lars", "/lars"); +  Resolver.AddKnownUser("Jason", "/jason"); +  Resolver.AddKnownUser("Larry", "/larry"); + +  SmallString<32> Result; +  ASSERT_TRUE(Resolver.ResolveFullPath("~", Result)); +  EXPECT_EQ("/james", Result); +  ASSERT_TRUE(Resolver.ResolveFullPath("~/", Result)); +  EXPECT_EQ("/james/", Result); + +  ASSERT_TRUE(Resolver.ResolveFullPath("~James/bar/baz", Result)); +  EXPECT_EQ("/james/bar/baz", Result); + +  ASSERT_TRUE(Resolver.ResolveFullPath("~Jason/", Result)); +  EXPECT_EQ("/jason/", Result); + +  ASSERT_TRUE(Resolver.ResolveFullPath("~Lars", Result)); +  EXPECT_EQ("/lars", Result); + +  ASSERT_FALSE(Resolver.ResolveFullPath("~Jaso", Result)); +  ASSERT_FALSE(Resolver.ResolveFullPath("", Result)); +  ASSERT_FALSE(Resolver.ResolveFullPath("Jason", Result)); +}  | 
