diff options
author | Bert Belder <bertbelder@gmail.com> | 2018-08-26 01:37:15 +0200 |
---|---|---|
committer | Bert Belder <bertbelder@gmail.com> | 2018-08-26 18:27:23 +0200 |
commit | 26707446fc83a6f6c7152153db43db4152698f58 (patch) | |
tree | 184a4765b5d5d15046a96c49e0db6800729bcf16 /libdeno/file_util_test.cc | |
parent | ddddd50540847a34697380a6f1fc4336d3f20c83 (diff) |
libdeno: add file utilities Dirname() and ExePath()
Diffstat (limited to 'libdeno/file_util_test.cc')
-rw-r--r-- | libdeno/file_util_test.cc | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/libdeno/file_util_test.cc b/libdeno/file_util_test.cc index 3f01c8115..a7b6727e1 100644 --- a/libdeno/file_util_test.cc +++ b/libdeno/file_util_test.cc @@ -11,11 +11,36 @@ TEST(FileUtilTest, ReadFileToStringFileNotExist) { TEST(FileUtilTest, Basename) { EXPECT_EQ("foo.txt", deno::Basename("foo.txt")); EXPECT_EQ("foo.txt", deno::Basename("/foo.txt")); + EXPECT_EQ("", deno::Basename("/foo/")); + EXPECT_EQ("", deno::Basename("foo/")); EXPECT_EQ("", deno::Basename("/")); EXPECT_EQ("foo.txt", deno::Basename(".\\foo.txt")); EXPECT_EQ("foo.txt", deno::Basename("/home/ryan/foo.txt")); EXPECT_EQ("foo.txt", deno::Basename("C:\\home\\ryan\\foo.txt")); } -// TODO(ry) success unit test. Needs a tempfile or fixture. -// TEST(FileUtilTest, ReadFileToStringSuccess) { } +TEST(FileUtilTest, Dirname) { + EXPECT_EQ("home/dank/", deno::Dirname("home/dank/memes.gif")); + EXPECT_EQ("/home/dank/", deno::Dirname("/home/dank/memes.gif")); + EXPECT_EQ("/home/dank/", deno::Dirname("/home/dank/")); + EXPECT_EQ("home/dank/", deno::Dirname("home/dank/memes.gif")); + EXPECT_EQ("/", deno::Dirname("/")); + EXPECT_EQ(".\\", deno::Dirname(".\\memes.gif")); + EXPECT_EQ("c:\\", deno::Dirname("c:\\stuff")); + EXPECT_EQ("./", deno::Dirname("nothing")); + EXPECT_EQ("./", deno::Dirname("")); +} + +TEST(FileUtilTest, ExePath) { + std::string exe_path; + EXPECT_TRUE(deno::ExePath(&exe_path)); + // Path is absolute. + EXPECT_TRUE(exe_path.find("/") == 0 || exe_path.find(":\\") == 1); + // FIlename is the name of the test binary. + std::string exe_filename = deno::Basename(exe_path); + EXPECT_EQ(exe_filename.find("test_cc"), 0); + // Path exists (also tests ReadFileToString). + std::string contents; + EXPECT_TRUE(deno::ReadFileToString(exe_path.c_str(), &contents)); + EXPECT_NE(contents.find("Inception :)"), std::string::npos); +} |