diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-06-20 14:33:09 +1000 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-06-20 14:33:09 +1000 |
commit | 6352e8e3196f78388b6c771073f9e03eaa612673 (patch) | |
tree | e23772f79a7fbc41bc9108951e9e136857484bf4 /source/test/file_test.cpp | |
parent | 6741a057e5639280d85d0f88ba26f000baa58f61 (diff) |
everything everywhere
all at once
Diffstat (limited to 'source/test/file_test.cpp')
-rw-r--r-- | source/test/file_test.cpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/source/test/file_test.cpp b/source/test/file_test.cpp new file mode 100644 index 0000000..f8d3b70 --- /dev/null +++ b/source/test/file_test.cpp @@ -0,0 +1,51 @@ +#include "StarFile.hpp" +#include "StarString.hpp" +#include "StarFormat.hpp" + +#include "gtest/gtest.h" + +using namespace Star; + +TEST(FileTest, All) { + auto file = File::ephemeralFile(); + file->resize(1000); + file->resize(0); + file->resize(500); + EXPECT_EQ(file->size(), 500); + + auto dir = File::temporaryDirectory(); + File::makeDirectory(File::relativeTo(dir, "inner")); + EXPECT_TRUE(File::isDirectory(File::relativeTo(dir, "inner") + "/")); + File::removeDirectoryRecursive(dir); + +#ifdef STAR_SYSTEM_FAMILY_WINDOWS + EXPECT_EQ(File::baseName("/foo/bar"), "bar"); + EXPECT_EQ(File::baseName("\\foo\\bar\\"), "bar"); + EXPECT_EQ(File::baseName("/foo/bar/baz"), "baz"); + EXPECT_EQ(File::dirName("\\foo\\bar"), "\\foo"); + EXPECT_EQ(File::dirName("/foo\\bar/"), "/foo"); + EXPECT_EQ(File::dirName("/foo/bar\\baz"), "/foo/bar"); + EXPECT_EQ(File::dirName("foo/bar/baz"), "foo/bar"); + + EXPECT_EQ(File::relativeTo("c:\\foo\\", "bar"), "c:\\foo\\bar"); + EXPECT_EQ(File::relativeTo("c:\\foo", "bar"), "c:\\foo\\bar"); + EXPECT_EQ(File::relativeTo("c:\\foo\\", "\\bar"), "\\bar"); + EXPECT_EQ(File::relativeTo("c:\\foo\\", ".\\bar"), "c:\\foo\\bar"); + EXPECT_EQ(File::relativeTo("c:\\foo\\.", ".\\bar"), "c:\\foo\\bar"); + EXPECT_EQ(File::relativeTo("c:\\foo\\.", "c:\\bar"), "c:\\bar"); + EXPECT_EQ(File::relativeTo("c:\\foo\\.", "c:bar\\"), "c:bar\\"); + EXPECT_EQ(File::relativeTo("c:\\foo.", "bar"), "c:\\foo.\\bar"); +#else + EXPECT_EQ(File::baseName("/foo/bar"), "bar"); + EXPECT_EQ(File::baseName("/foo/bar/"), "bar"); + EXPECT_EQ(File::baseName("/foo/bar/baz"), "baz"); + EXPECT_EQ(File::dirName("/foo/bar"), "/foo"); + EXPECT_EQ(File::dirName("/foo/bar/"), "/foo"); + EXPECT_EQ(File::dirName("/foo/bar/baz"), "/foo/bar"); + EXPECT_EQ(File::dirName("foo/bar/baz"), "foo/bar"); + + EXPECT_EQ(File::relativeTo("/foo", "bar"), "/foo/bar"); + EXPECT_EQ(File::relativeTo("/foo", "bar/"), "/foo/bar/"); + EXPECT_EQ(File::relativeTo("/foo", "/bar/"), "/bar/"); +#endif +} |