#include "gtest/gtest.h" #include "TestingSupport/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)); }