mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-08 15:20:45 +01:00
Add a SplitPath unit test exercising Windows paths with drive letters
This commit is contained in:
parent
05cad38abc
commit
bf3ef37fb6
@ -191,4 +191,37 @@ TEST(StringUtil, SplitPathBackslashesNotRecognizedAsSeparators)
|
||||
EXPECT_EQ(extension, ".txt");
|
||||
}
|
||||
|
||||
// TODO: add `SplitPath` test coverage for paths containing Windows drives, e.g., "C:".
|
||||
#ifdef _WIN32
|
||||
TEST(StringUtil, SplitPathWindowsPathWithDriveLetter)
|
||||
{
|
||||
// Verify that on Windows, valid paths that include a drive letter and volume separator (e.g.,
|
||||
// "C:") parse correctly.
|
||||
std::string path;
|
||||
std::string filename;
|
||||
std::string extension;
|
||||
|
||||
// Absolute path with drive letter
|
||||
EXPECT_TRUE(SplitPath("C:/dir/some_file.txt", &path, &filename, &extension));
|
||||
EXPECT_EQ(path, "C:/dir/");
|
||||
EXPECT_EQ(filename, "some_file");
|
||||
EXPECT_EQ(extension, ".txt");
|
||||
|
||||
// Relative path with drive letter
|
||||
EXPECT_TRUE(SplitPath("C:dir/some_file.txt", &path, &filename, &extension));
|
||||
EXPECT_EQ(path, "C:dir/");
|
||||
EXPECT_EQ(filename, "some_file");
|
||||
EXPECT_EQ(extension, ".txt");
|
||||
|
||||
// Relative path with drive letter and no directory
|
||||
EXPECT_TRUE(SplitPath("C:some_file.txt", &path, &filename, &extension));
|
||||
EXPECT_EQ(path, "C:");
|
||||
EXPECT_EQ(filename, "some_file");
|
||||
EXPECT_EQ(extension, ".txt");
|
||||
|
||||
// Path that is just the drive letter
|
||||
EXPECT_TRUE(SplitPath("C:", &path, &filename, &extension));
|
||||
EXPECT_EQ(path, "C:");
|
||||
EXPECT_EQ(filename, "");
|
||||
EXPECT_EQ(extension, "");
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user