summaryrefslogtreecommitdiff
path: root/libdeno/file_util_test.cc
diff options
context:
space:
mode:
authorBert Belder <bertbelder@gmail.com>2018-08-26 01:37:15 +0200
committerBert Belder <bertbelder@gmail.com>2018-08-26 18:27:23 +0200
commit26707446fc83a6f6c7152153db43db4152698f58 (patch)
tree184a4765b5d5d15046a96c49e0db6800729bcf16 /libdeno/file_util_test.cc
parentddddd50540847a34697380a6f1fc4336d3f20c83 (diff)
libdeno: add file utilities Dirname() and ExePath()
Diffstat (limited to 'libdeno/file_util_test.cc')
-rw-r--r--libdeno/file_util_test.cc29
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);
+}