Introduce getSlugifiedFileName in tools.h

The function sanitizes file names depending on OS.
This commit is contained in:
ShaopengLin
2024-08-14 09:47:07 -04:00
committed by Kelson
parent c2042c3be8
commit be464a5986
3 changed files with 34 additions and 0 deletions

View File

@ -19,6 +19,7 @@
#include "gtest/gtest.h"
#include "../src/tools/stringTools.h"
#include "../include/tools.h"
#include <string>
#include <vector>
@ -170,4 +171,17 @@ TEST(stringTools, stripSuffix)
EXPECT_EQ(stripSuffix("abc123", "987"), "abc123");
}
TEST(stringTools, getSlugifiedFileName)
{
EXPECT_EQ(getSlugifiedFileName("abc123.png"), "abc123.png");
EXPECT_EQ(getSlugifiedFileName("/"), "_");
EXPECT_EQ(getSlugifiedFileName("abc/123.pdf"), "abc_123.pdf");
EXPECT_EQ(getSlugifiedFileName("abc//123.yaml"), "abc__123.yaml");
EXPECT_EQ(getSlugifiedFileName("//abc//123//"), "__abc__123__");
#ifdef _WIN32
EXPECT_EQ(getSlugifiedFileName(R"(<>:"/\\|?*)"), "__________");
EXPECT_EQ(getSlugifiedFileName(R"(<abc>:"/123\\|?*<.txt>)"), "_abc____123______.txt_");
#endif
}
};