|
- #include <gtest/gtest.h>
-
- #include <cppfs.h>
-
- using namespace ::testing;
- using namespace ::cppfs;
-
- TEST(path_tests, ctor_string)
- {
- path p("some/test/path");
-
- EXPECT_EQ(p.status(), path_status::none);
- EXPECT_EQ(p.parts(), path::string_vector({ "some", "test", "path" }));
- }
-
- TEST(path_tests, ctor_string_relative)
- {
- path p0("./some/test/path");
-
- EXPECT_EQ(p0.status(), path_status::relative);
- EXPECT_EQ(p0.parts(), path::string_vector({ "some", "test", "path" }));
-
- path p1("../some/test/path");
-
- EXPECT_EQ(p1.status(), path_status::relative);
- EXPECT_EQ(p1.parts(), path::string_vector({ "..", "some", "test", "path" }));
- }
-
- TEST(path_tests, ctor_string_absolute)
- {
- path p("/some/test/path");
-
- EXPECT_EQ(p.status(), path_status::absoulte);
- EXPECT_EQ(p.parts(), path::string_vector({ "some", "test", "path" }));
- }
-
- TEST(path_tests, ctor_parts)
- {
- EXPECT_EQ("some/test/path", path({ "some", "test", "path" }, path_status::none).str());
- EXPECT_EQ("/some/test/path", path({ "some", "test", "path" }, path_status::absoulte).str());
- EXPECT_EQ("./some/test/path", path({ "some", "test", "path" }, path_status::relative).str());
- }
-
- TEST(path_tests, exsists)
- {
- EXPECT_TRUE (path("./cppfs")
- .exsists());
- EXPECT_TRUE (path("./cppfs/path_tests.cpp")
- .exsists());
- EXPECT_TRUE (path("./cppfs/directory_tests.cpp")
- .exsists());
- EXPECT_FALSE(path("./cppfs/asd")
- .exsists());
- }
-
- TEST(path_tests, is_file)
- {
- EXPECT_FALSE(path("./cppfs")
- .is_file());
- EXPECT_TRUE (path("./cppfs/path_tests.cpp")
- .is_file());
- EXPECT_TRUE (path("./cppfs/directory_tests.cpp")
- .is_file());
- EXPECT_FALSE(path("./cppfs/asd")
- .is_file());
- }
-
- TEST(path_tests, is_directory)
- {
- EXPECT_TRUE (path("./cppfs")
- .is_directory());
- EXPECT_FALSE(path("./cppfs/path_tests.cpp")
- .is_directory());
- EXPECT_FALSE(path("./cppfs/directory_tests.cpp")
- .is_directory());
- EXPECT_FALSE(path("./cppfs/asd")
- .is_directory());
- }
-
- TEST(path_tests, base)
- {
- auto cwd = path::current().str();
-
- EXPECT_EQ(path("./cppfs/fuuu/bar").base().str(), cwd + "/cppfs/fuuu");
- EXPECT_EQ(path("/fuu/bar/../baz").base().str(), "/fuu");
- }
-
- TEST(path_tests, normalize)
- {
- auto cwd = path::current().str();
-
- EXPECT_EQ(path("fuu/../bar/./biz/baz/..").normalize().str(), cwd + "/bar/biz");
- EXPECT_EQ(path("fuu/../bar/./biz/baz/..").normalize().str(), cwd + "/bar/biz");
- EXPECT_EQ(path("/fuu/../bar/./biz/baz/..").normalize().str(), "/bar/biz");
- }
-
- TEST(path_tests, extension)
- {
- EXPECT_EQ(path("fuu/fuu").extension(), "");
- EXPECT_EQ(path("fuu/.fuu").extension(), "");
- EXPECT_EQ(path("fuu/fuu.bar").extension(), "bar");
- EXPECT_EQ(path("fuu/fuu.bar.biz").extension(), "biz");
- }
-
- TEST(path_tests, join)
- {
- using namespace std::string_literals;
-
- EXPECT_EQ(path("fuu/fuu").join("/bar"s).str(), "/bar");
- EXPECT_EQ(path("fuu/fuu").join("./bar"s).str(), "fuu/fuu/bar");
- EXPECT_EQ(path("fuu/fuu").join("bar"s).str(), "fuu/fuu/bar");
- }
|