From eba0c55234283d607b9df054df640eeb39b14a5c Mon Sep 17 00:00:00 2001 From: codereader Date: Tue, 23 Mar 2021 16:48:24 +0100 Subject: [PATCH] #5568: Add some unit test for the newly added os::removeExtension function, as well as for the existing os::getExtension. --- test/Basic.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/test/Basic.cpp b/test/Basic.cpp index 4f3e3facec..28daa4e580 100644 --- a/test/Basic.cpp +++ b/test/Basic.cpp @@ -6,6 +6,7 @@ #include "gtest/gtest.h" #include "string/string.h" +#include "os/path.h" namespace test { @@ -32,4 +33,33 @@ TEST(BasicTest, StringILessFunctor) EXPECT_TRUE(!less("BLEH", "blah")); } +TEST(PathTests, GetFileExtension) +{ + EXPECT_EQ(os::getExtension(""), ""); + EXPECT_EQ(os::getExtension("file55"), ""); + EXPECT_EQ(os::getExtension("file55."), ""); + EXPECT_EQ(os::getExtension("file.extension"), "extension"); + EXPECT_EQ(os::getExtension("File.TGA"), "TGA"); + EXPECT_EQ(os::getExtension("File.tga"), "tga"); + EXPECT_EQ(os::getExtension("file.tga.bak"), "bak"); + EXPECT_EQ(os::getExtension("relativefolder/file.tga"), "tga"); + EXPECT_EQ(os::getExtension("c:\\absolutepath\\tork.bak"), "bak"); + EXPECT_EQ(os::getExtension("\\absolutepath\\tork.doc"), "doc"); + EXPECT_EQ(os::getExtension("dds/textures/darkmod/test.dds"), "dds"); +} + +TEST(PathTests, RemoveFileExtension) +{ + EXPECT_EQ(os::removeExtension(""), ""); + EXPECT_EQ(os::removeExtension("file55"), "file55"); + EXPECT_EQ(os::removeExtension("file55."), "file55"); + EXPECT_EQ(os::removeExtension("file.extension"), "file"); + EXPECT_EQ(os::removeExtension("File.tga"), "File"); + EXPECT_EQ(os::removeExtension("file.tga.bak"), "file.tga"); + EXPECT_EQ(os::removeExtension("relativefolder/file.tga"), "relativefolder/file"); + EXPECT_EQ(os::removeExtension("c:\\absolutepath\\tork.bak"), "c:\\absolutepath\\tork"); + EXPECT_EQ(os::removeExtension("\\absolutepath\\tork.doc"), "\\absolutepath\\tork"); + EXPECT_EQ(os::removeExtension("dds/textures/darkmod/test.dds"), "dds/textures/darkmod/test"); +} + } \ No newline at end of file