From 4feaa132abc802cab562fcf651570fcb2a9f575e Mon Sep 17 00:00:00 2001 From: superp00t Date: Sun, 30 Mar 2025 23:35:35 -0400 Subject: [PATCH] feat(test): add tests for CreateDirectory --- test/File.cpp | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/test/File.cpp b/test/File.cpp index d4628af..ca20d6d 100644 --- a/test/File.cpp +++ b/test/File.cpp @@ -27,4 +27,42 @@ TEST_CASE("Blizzard::File::Open", "[file]") { } } -#endif \ No newline at end of file +TEST_CASE("Blizzard::File::CreateDirectory", "[file]") { + SECTION("create nested directory") { + REQUIRE(Blizzard::File::CreateDirectory("/tmp/whoabc/nested/testing/directory", true)); + REQUIRE(Blizzard::File::CreateDirectory("./whoabc/nested/testing/directory", true)); + } +} + +#endif + +#if defined(WHOA_SYSTEM_WIN) + +#include +#include + +#undef CreateDirectory + +TEST_CASE("Blizzard::File::Open", "[file]") { + SECTION("open nul") { + Blizzard::File::StreamRecord* file; + REQUIRE(Blizzard::File::Open("nul", Blizzard::File::Mode::mustexist|Blizzard::File::Mode::read, file)); + REQUIRE(Blizzard::File::Close(file)); + } +} + +TEST_CASE("Blizzard::File::CreateDirectory", "[file]") { + SECTION("create nested directory") { + CHAR tempdir[1024]; + if (GetTempPathA(sizeof(tempdir), tempdir)) { + char dir[1024]; + Blizzard::String::Copy(dir, tempdir, sizeof(dir)); + Blizzard::String::ForceTrailingSeparator(dir, sizeof(dir), '\\'); + Blizzard::String::Append(dir, "whoabc\\nested\\testing\\directory", sizeof(dir)); + REQUIRE(Blizzard::File::CreateDirectory(dir, true)); + } + REQUIRE(Blizzard::File::CreateDirectory("./whoabc/nested/testing/directory", true)); + } +} + +#endif