diff options
Diffstat (limited to 'core/libdeno/file_util_test.cc')
-rw-r--r-- | core/libdeno/file_util_test.cc | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/core/libdeno/file_util_test.cc b/core/libdeno/file_util_test.cc new file mode 100644 index 000000000..80c878044 --- /dev/null +++ b/core/libdeno/file_util_test.cc @@ -0,0 +1,46 @@ +// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license. +#include "testing/gtest/include/gtest/gtest.h" + +#include "file_util.h" + +TEST(FileUtilTest, ReadFileToStringFileNotExist) { + std::string output; + EXPECT_FALSE(deno::ReadFileToString("/should_error_out.txt", &output)); +} + +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")); +} + +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"), 0u); + // 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); +} |