PowerShell/tests/host/test-hostutil.cpp

36 lines
1.2 KiB
C++

#include <gtest/gtest.h>
#include "common/hostutil.h"
TEST(HostUtilTest,simple)
{
// syntactical corner cases
ASSERT_EQ("",HostUtil::getAbsolutePathList(""));
ASSERT_EQ("",HostUtil::getAbsolutePathList(":"));
ASSERT_EQ("",HostUtil::getAbsolutePathList("::"));
ASSERT_EQ("",HostUtil::getAbsolutePathList(":::::"));
// current directory
char* cwd = get_current_dir_name();
ASSERT_EQ(std::string(cwd),HostUtil::getAbsolutePathList("."));
// relative and absolute paths that don't exist
ASSERT_EQ("",HostUtil::getAbsolutePathList("/something/that/does/not/exist"));
ASSERT_EQ("",HostUtil::getAbsolutePathList(":/something/that/does/not/exist:"));
ASSERT_EQ("",HostUtil::getAbsolutePathList("something/relative/that/does/not/exist"));
ASSERT_EQ("",HostUtil::getAbsolutePathList(":something/relative/that/does/not/exist:"));
// absolute existing paths
ASSERT_EQ("/tmp",HostUtil::getAbsolutePathList("/tmp"));
ASSERT_EQ("/tmp:/tmp",HostUtil::getAbsolutePathList("/tmp:/tmp"));
// relative paths
chdir("/");
ASSERT_EQ("/tmp",HostUtil::getAbsolutePathList("tmp"));
ASSERT_EQ("/tmp:/tmp",HostUtil::getAbsolutePathList("/tmp:tmp:"));
chdir(cwd);
// cleanup
free(cwd);
}