is_absolute_path(std::string_view path)
{
#ifdef _WIN32
- if (path.length() >= 2 && path[1] == ':'
+ if (path.length() >= 3 && path[1] == ':'
&& (path[2] == '/' || path[2] == '\\')) {
return true;
}
{
#ifdef _WIN32
CHECK(util::is_absolute_path("C:/"));
+ CHECK(util::is_absolute_path("C:\\"));
CHECK(util::is_absolute_path("C:\\foo/fie"));
CHECK(util::is_absolute_path("/C:\\foo/fie")); // MSYS/Cygwin path
CHECK(!util::is_absolute_path(""));
+ CHECK(!util::is_absolute_path("C:"));
CHECK(!util::is_absolute_path("foo\\fie/fum"));
CHECK(!util::is_absolute_path("C:foo/fie"));
#endif
CHECK(!util::is_absolute_path("foo/fie"));
}
-TEST_CASE("util::is_absolute_path")
+TEST_CASE("util::is_full_path")
{
CHECK(!util::is_full_path(""));
CHECK(!util::is_full_path("foo"));