Rename literal operator

Qt 6.4 introduced `QString operator""_s()` and the previous `""_qs` is
deprecated since Qt 6.8.
This commit is contained in:
Chocobo1 2023-06-18 02:02:02 +08:00
commit e6d85a468b
No known key found for this signature in database
GPG key ID: 210D9C873253A68C
141 changed files with 3610 additions and 3604 deletions

View file

@ -43,246 +43,246 @@ public:
private slots:
void testConstructors() const
{
QVERIFY(Path(u""_qs) == Path(std::string("")));
QVERIFY(Path(u"abc"_qs) == Path(std::string("abc")));
QVERIFY(Path(u"/abc"_qs) == Path(std::string("/abc")));
QVERIFY(Path(uR"(\abc)"_qs) == Path(std::string(R"(\abc)")));
QVERIFY(Path(u""_s) == Path(std::string("")));
QVERIFY(Path(u"abc"_s) == Path(std::string("abc")));
QVERIFY(Path(u"/abc"_s) == Path(std::string("/abc")));
QVERIFY(Path(uR"(\abc)"_s) == Path(std::string(R"(\abc)")));
#ifdef Q_OS_WIN
QVERIFY(Path(uR"(c:)"_qs) == Path(std::string(R"(c:)")));
QVERIFY(Path(uR"(c:/)"_qs) == Path(std::string(R"(c:/)")));
QVERIFY(Path(uR"(c:/)"_qs) == Path(std::string(R"(c:\)")));
QVERIFY(Path(uR"(c:\)"_qs) == Path(std::string(R"(c:/)")));
QVERIFY(Path(uR"(c:\)"_qs) == Path(std::string(R"(c:\)")));
QVERIFY(Path(uR"(c:)"_s) == Path(std::string(R"(c:)")));
QVERIFY(Path(uR"(c:/)"_s) == Path(std::string(R"(c:/)")));
QVERIFY(Path(uR"(c:/)"_s) == Path(std::string(R"(c:\)")));
QVERIFY(Path(uR"(c:\)"_s) == Path(std::string(R"(c:/)")));
QVERIFY(Path(uR"(c:\)"_s) == Path(std::string(R"(c:\)")));
QVERIFY(Path(uR"(\\?\C:)"_qs) == Path(std::string(R"(\\?\C:)")));
QVERIFY(Path(uR"(\\?\C:/)"_qs) == Path(std::string(R"(\\?\C:/)")));
QVERIFY(Path(uR"(\\?\C:/)"_qs) == Path(std::string(R"(\\?\C:\)")));
QVERIFY(Path(uR"(\\?\C:\)"_qs) == Path(std::string(R"(\\?\C:/)")));
QVERIFY(Path(uR"(\\?\C:\)"_qs) == Path(std::string(R"(\\?\C:\)")));
QVERIFY(Path(uR"(\\?\C:)"_s) == Path(std::string(R"(\\?\C:)")));
QVERIFY(Path(uR"(\\?\C:/)"_s) == Path(std::string(R"(\\?\C:/)")));
QVERIFY(Path(uR"(\\?\C:/)"_s) == Path(std::string(R"(\\?\C:\)")));
QVERIFY(Path(uR"(\\?\C:\)"_s) == Path(std::string(R"(\\?\C:/)")));
QVERIFY(Path(uR"(\\?\C:\)"_s) == Path(std::string(R"(\\?\C:\)")));
QVERIFY(Path(uR"(\\?\C:\abc)"_qs) == Path(std::string(R"(\\?\C:\abc)")));
QVERIFY(Path(uR"(\\?\C:\abc)"_s) == Path(std::string(R"(\\?\C:\abc)")));
#endif
}
void testIsValid() const
{
QCOMPARE(Path().isValid(), false);
QCOMPARE(Path(u""_qs).isValid(), false);
QCOMPARE(Path(u""_s).isValid(), false);
QCOMPARE(Path(u"/"_qs).isValid(), true);
QCOMPARE(Path(uR"(\)"_qs).isValid(), true);
QCOMPARE(Path(u"/"_s).isValid(), true);
QCOMPARE(Path(uR"(\)"_s).isValid(), true);
QCOMPARE(Path(u"a"_qs).isValid(), true);
QCOMPARE(Path(u"/a"_qs).isValid(), true);
QCOMPARE(Path(uR"(\a)"_qs).isValid(), true);
QCOMPARE(Path(u"a"_s).isValid(), true);
QCOMPARE(Path(u"/a"_s).isValid(), true);
QCOMPARE(Path(uR"(\a)"_s).isValid(), true);
QCOMPARE(Path(u"a/b"_qs).isValid(), true);
QCOMPARE(Path(uR"(a\b)"_qs).isValid(), true);
QCOMPARE(Path(u"/a/b"_qs).isValid(), true);
QCOMPARE(Path(uR"(/a\b)"_qs).isValid(), true);
QCOMPARE(Path(uR"(\a/b)"_qs).isValid(), true);
QCOMPARE(Path(uR"(\a\b)"_qs).isValid(), true);
QCOMPARE(Path(u"a/b"_s).isValid(), true);
QCOMPARE(Path(uR"(a\b)"_s).isValid(), true);
QCOMPARE(Path(u"/a/b"_s).isValid(), true);
QCOMPARE(Path(uR"(/a\b)"_s).isValid(), true);
QCOMPARE(Path(uR"(\a/b)"_s).isValid(), true);
QCOMPARE(Path(uR"(\a\b)"_s).isValid(), true);
QCOMPARE(Path(u"//"_qs).isValid(), true);
QCOMPARE(Path(uR"(\\)"_qs).isValid(), true);
QCOMPARE(Path(u"//a"_qs).isValid(), true);
QCOMPARE(Path(uR"(\\a)"_qs).isValid(), true);
QCOMPARE(Path(u"//"_s).isValid(), true);
QCOMPARE(Path(uR"(\\)"_s).isValid(), true);
QCOMPARE(Path(u"//a"_s).isValid(), true);
QCOMPARE(Path(uR"(\\a)"_s).isValid(), true);
#if defined Q_OS_MACOS
QCOMPARE(Path(u"\0"_qs).isValid(), false);
QCOMPARE(Path(u":"_qs).isValid(), false);
QCOMPARE(Path(u"\0"_s).isValid(), false);
QCOMPARE(Path(u":"_s).isValid(), false);
#elif defined Q_OS_WIN
QCOMPARE(Path(u"c:"_qs).isValid(), false);
QCOMPARE(Path(u"c:/"_qs).isValid(), true);
QCOMPARE(Path(uR"(c:\)"_qs).isValid(), true);
QCOMPARE(Path(uR"(c:\a)"_qs).isValid(), true);
QCOMPARE(Path(uR"(c:\a\b)"_qs).isValid(), true);
QCOMPARE(Path(u"c:"_s).isValid(), false);
QCOMPARE(Path(u"c:/"_s).isValid(), true);
QCOMPARE(Path(uR"(c:\)"_s).isValid(), true);
QCOMPARE(Path(uR"(c:\a)"_s).isValid(), true);
QCOMPARE(Path(uR"(c:\a\b)"_s).isValid(), true);
for (int i = 0; i <= 31; ++i)
QCOMPARE(Path(QChar(i)).isValid(), false);
QCOMPARE(Path(u":"_qs).isValid(), false);
QCOMPARE(Path(u"?"_qs).isValid(), false);
QCOMPARE(Path(u"\""_qs).isValid(), false);
QCOMPARE(Path(u"*"_qs).isValid(), false);
QCOMPARE(Path(u"<"_qs).isValid(), false);
QCOMPARE(Path(u">"_qs).isValid(), false);
QCOMPARE(Path(u"|"_qs).isValid(), false);
QCOMPARE(Path(u":"_s).isValid(), false);
QCOMPARE(Path(u"?"_s).isValid(), false);
QCOMPARE(Path(u"\""_s).isValid(), false);
QCOMPARE(Path(u"*"_s).isValid(), false);
QCOMPARE(Path(u"<"_s).isValid(), false);
QCOMPARE(Path(u">"_s).isValid(), false);
QCOMPARE(Path(u"|"_s).isValid(), false);
#else
QCOMPARE(Path(u"\0"_qs).isValid(), false);
QCOMPARE(Path(u"\0"_s).isValid(), false);
#endif
}
void testIsEmpty() const
{
QCOMPARE(Path().isEmpty(), true);
QCOMPARE(Path(u""_qs).isEmpty(), true);
QCOMPARE(Path(u""_s).isEmpty(), true);
QCOMPARE(Path(u"\0"_qs).isEmpty(), false);
QCOMPARE(Path(u"\0"_s).isEmpty(), false);
QCOMPARE(Path(u"/"_qs).isEmpty(), false);
QCOMPARE(Path(uR"(\)"_qs).isEmpty(), false);
QCOMPARE(Path(u"/"_s).isEmpty(), false);
QCOMPARE(Path(uR"(\)"_s).isEmpty(), false);
QCOMPARE(Path(u"a"_qs).isEmpty(), false);
QCOMPARE(Path(u"/a"_qs).isEmpty(), false);
QCOMPARE(Path(uR"(\a)"_qs).isEmpty(), false);
QCOMPARE(Path(u"a"_s).isEmpty(), false);
QCOMPARE(Path(u"/a"_s).isEmpty(), false);
QCOMPARE(Path(uR"(\a)"_s).isEmpty(), false);
QCOMPARE(Path(uR"(c:)"_qs).isEmpty(), false);
QCOMPARE(Path(uR"(c:/)"_qs).isEmpty(), false);
QCOMPARE(Path(uR"(c:\)"_qs).isEmpty(), false);
QCOMPARE(Path(uR"(c:)"_s).isEmpty(), false);
QCOMPARE(Path(uR"(c:/)"_s).isEmpty(), false);
QCOMPARE(Path(uR"(c:\)"_s).isEmpty(), false);
}
void testIsAbsolute() const
{
QCOMPARE(Path().isAbsolute(), false);
QCOMPARE(Path(u""_qs).isAbsolute(), false);
QCOMPARE(Path(u""_s).isAbsolute(), false);
#ifdef Q_OS_WIN
QCOMPARE(Path(u"/"_qs).isAbsolute(), true);
QCOMPARE(Path(uR"(\)"_qs).isAbsolute(), true);
QCOMPARE(Path(u"/"_s).isAbsolute(), true);
QCOMPARE(Path(uR"(\)"_s).isAbsolute(), true);
QCOMPARE(Path(u"a"_qs).isAbsolute(), false);
QCOMPARE(Path(u"/a"_qs).isAbsolute(), true);
QCOMPARE(Path(uR"(\a)"_qs).isAbsolute(), true);
QCOMPARE(Path(u"a"_s).isAbsolute(), false);
QCOMPARE(Path(u"/a"_s).isAbsolute(), true);
QCOMPARE(Path(uR"(\a)"_s).isAbsolute(), true);
QCOMPARE(Path(u"//"_qs).isAbsolute(), true);
QCOMPARE(Path(uR"(\\)"_qs).isAbsolute(), true);
QCOMPARE(Path(u"//a"_qs).isAbsolute(), true);
QCOMPARE(Path(uR"(\\a)"_qs).isAbsolute(), true);
QCOMPARE(Path(u"//"_s).isAbsolute(), true);
QCOMPARE(Path(uR"(\\)"_s).isAbsolute(), true);
QCOMPARE(Path(u"//a"_s).isAbsolute(), true);
QCOMPARE(Path(uR"(\\a)"_s).isAbsolute(), true);
QCOMPARE(Path(uR"(c:)"_qs).isAbsolute(), true);
QCOMPARE(Path(uR"(c:/)"_qs).isAbsolute(), true);
QCOMPARE(Path(uR"(c:\)"_qs).isAbsolute(), true);
QCOMPARE(Path(uR"(c:\a)"_qs).isAbsolute(), true);
QCOMPARE(Path(uR"(c:\a\b)"_qs).isAbsolute(), true);
QCOMPARE(Path(uR"(c:)"_s).isAbsolute(), true);
QCOMPARE(Path(uR"(c:/)"_s).isAbsolute(), true);
QCOMPARE(Path(uR"(c:\)"_s).isAbsolute(), true);
QCOMPARE(Path(uR"(c:\a)"_s).isAbsolute(), true);
QCOMPARE(Path(uR"(c:\a\b)"_s).isAbsolute(), true);
QCOMPARE(Path(uR"(\\?\C:)"_qs).isAbsolute(), true);
QCOMPARE(Path(uR"(\\?\C:/)"_qs).isAbsolute(), true);
QCOMPARE(Path(uR"(\\?\C:\)"_qs).isAbsolute(), true);
QCOMPARE(Path(uR"(\\?\C:\a)"_qs).isAbsolute(), true);
QCOMPARE(Path(uR"(\\?\C:\a\b)"_qs).isAbsolute(), true);
QCOMPARE(Path(uR"(\\?\C:)"_s).isAbsolute(), true);
QCOMPARE(Path(uR"(\\?\C:/)"_s).isAbsolute(), true);
QCOMPARE(Path(uR"(\\?\C:\)"_s).isAbsolute(), true);
QCOMPARE(Path(uR"(\\?\C:\a)"_s).isAbsolute(), true);
QCOMPARE(Path(uR"(\\?\C:\a\b)"_s).isAbsolute(), true);
#else
QCOMPARE(Path(u"/"_qs).isAbsolute(), true);
QCOMPARE(Path(uR"(\)"_qs).isAbsolute(), false);
QCOMPARE(Path(u"/"_s).isAbsolute(), true);
QCOMPARE(Path(uR"(\)"_s).isAbsolute(), false);
QCOMPARE(Path(u"a"_qs).isAbsolute(), false);
QCOMPARE(Path(u"/a"_qs).isAbsolute(), true);
QCOMPARE(Path(uR"(\a)"_qs).isAbsolute(), false);
QCOMPARE(Path(u"a"_s).isAbsolute(), false);
QCOMPARE(Path(u"/a"_s).isAbsolute(), true);
QCOMPARE(Path(uR"(\a)"_s).isAbsolute(), false);
QCOMPARE(Path(u"//"_qs).isAbsolute(), true);
QCOMPARE(Path(uR"(\\)"_qs).isAbsolute(), false);
QCOMPARE(Path(u"//a"_qs).isAbsolute(), true);
QCOMPARE(Path(uR"(\\a)"_qs).isAbsolute(), false);
QCOMPARE(Path(u"//"_s).isAbsolute(), true);
QCOMPARE(Path(uR"(\\)"_s).isAbsolute(), false);
QCOMPARE(Path(u"//a"_s).isAbsolute(), true);
QCOMPARE(Path(uR"(\\a)"_s).isAbsolute(), false);
#endif
}
void testIsRelative() const
{
QCOMPARE(Path().isRelative(), true);
QCOMPARE(Path(u""_qs).isRelative(), true);
QCOMPARE(Path(u""_s).isRelative(), true);
#if defined Q_OS_WIN
QCOMPARE(Path(u"/"_qs).isRelative(), false);
QCOMPARE(Path(uR"(\)"_qs).isRelative(), false);
QCOMPARE(Path(u"/"_s).isRelative(), false);
QCOMPARE(Path(uR"(\)"_s).isRelative(), false);
QCOMPARE(Path(u"a"_qs).isRelative(), true);
QCOMPARE(Path(u"/a"_qs).isRelative(), false);
QCOMPARE(Path(uR"(\a)"_qs).isRelative(), false);
QCOMPARE(Path(u"a"_s).isRelative(), true);
QCOMPARE(Path(u"/a"_s).isRelative(), false);
QCOMPARE(Path(uR"(\a)"_s).isRelative(), false);
QCOMPARE(Path(u"//"_qs).isRelative(), false);
QCOMPARE(Path(uR"(\\)"_qs).isRelative(), false);
QCOMPARE(Path(u"//a"_qs).isRelative(), false);
QCOMPARE(Path(uR"(\\a)"_qs).isRelative(), false);
QCOMPARE(Path(u"//"_s).isRelative(), false);
QCOMPARE(Path(uR"(\\)"_s).isRelative(), false);
QCOMPARE(Path(u"//a"_s).isRelative(), false);
QCOMPARE(Path(uR"(\\a)"_s).isRelative(), false);
QCOMPARE(Path(uR"(c:)"_qs).isRelative(), false);
QCOMPARE(Path(uR"(c:/)"_qs).isRelative(), false);
QCOMPARE(Path(uR"(c:\)"_qs).isRelative(), false);
QCOMPARE(Path(uR"(c:\a)"_qs).isRelative(), false);
QCOMPARE(Path(uR"(c:\a\b)"_qs).isRelative(), false);
QCOMPARE(Path(uR"(c:)"_s).isRelative(), false);
QCOMPARE(Path(uR"(c:/)"_s).isRelative(), false);
QCOMPARE(Path(uR"(c:\)"_s).isRelative(), false);
QCOMPARE(Path(uR"(c:\a)"_s).isRelative(), false);
QCOMPARE(Path(uR"(c:\a\b)"_s).isRelative(), false);
QCOMPARE(Path(uR"(\\?\C:)"_qs).isRelative(), false);
QCOMPARE(Path(uR"(\\?\C:/)"_qs).isRelative(), false);
QCOMPARE(Path(uR"(\\?\C:\)"_qs).isRelative(), false);
QCOMPARE(Path(uR"(\\?\C:\a)"_qs).isRelative(), false);
QCOMPARE(Path(uR"(\\?\C:\a\b)"_qs).isRelative(), false);
QCOMPARE(Path(uR"(\\?\C:)"_s).isRelative(), false);
QCOMPARE(Path(uR"(\\?\C:/)"_s).isRelative(), false);
QCOMPARE(Path(uR"(\\?\C:\)"_s).isRelative(), false);
QCOMPARE(Path(uR"(\\?\C:\a)"_s).isRelative(), false);
QCOMPARE(Path(uR"(\\?\C:\a\b)"_s).isRelative(), false);
#else
QCOMPARE(Path(u"/"_qs).isRelative(), false);
QCOMPARE(Path(uR"(\)"_qs).isRelative(), true);
QCOMPARE(Path(u"/"_s).isRelative(), false);
QCOMPARE(Path(uR"(\)"_s).isRelative(), true);
QCOMPARE(Path(u"a"_qs).isRelative(), true);
QCOMPARE(Path(u"/a"_qs).isRelative(), false);
QCOMPARE(Path(uR"(\a)"_qs).isRelative(), true);
QCOMPARE(Path(u"a"_s).isRelative(), true);
QCOMPARE(Path(u"/a"_s).isRelative(), false);
QCOMPARE(Path(uR"(\a)"_s).isRelative(), true);
QCOMPARE(Path(u"//"_qs).isRelative(), false);
QCOMPARE(Path(uR"(\\)"_qs).isRelative(), true);
QCOMPARE(Path(u"//a"_qs).isRelative(), false);
QCOMPARE(Path(uR"(\\a)"_qs).isRelative(), true);
QCOMPARE(Path(u"//"_s).isRelative(), false);
QCOMPARE(Path(uR"(\\)"_s).isRelative(), true);
QCOMPARE(Path(u"//a"_s).isRelative(), false);
QCOMPARE(Path(uR"(\\a)"_s).isRelative(), true);
#endif
}
void testRootItem() const
{
QCOMPARE(Path().rootItem(), Path());
QCOMPARE(Path(u""_qs).rootItem(), Path());
QCOMPARE(Path(u""_s).rootItem(), Path());
QCOMPARE(Path(u"/"_qs).rootItem(), Path(u"/"_qs));
QCOMPARE(Path(uR"(\)"_qs).rootItem(), Path(uR"(\)"_qs));
QCOMPARE(Path(u"/"_s).rootItem(), Path(u"/"_s));
QCOMPARE(Path(uR"(\)"_s).rootItem(), Path(uR"(\)"_s));
QCOMPARE(Path(u"a"_qs).rootItem(), Path(u"a"_qs));
QCOMPARE(Path(u"/a"_qs).rootItem(), Path(u"/"_qs));
QCOMPARE(Path(u"/a/b"_qs).rootItem(), Path(u"/"_qs));
QCOMPARE(Path(u"a"_s).rootItem(), Path(u"a"_s));
QCOMPARE(Path(u"/a"_s).rootItem(), Path(u"/"_s));
QCOMPARE(Path(u"/a/b"_s).rootItem(), Path(u"/"_s));
QCOMPARE(Path(u"//"_qs).rootItem(), Path(u"/"_qs));
QCOMPARE(Path(uR"(\\)"_qs).rootItem(), Path(uR"(\\)"_qs));
QCOMPARE(Path(u"//a"_qs).rootItem(), Path(u"/"_qs));
QCOMPARE(Path(u"//"_s).rootItem(), Path(u"/"_s));
QCOMPARE(Path(uR"(\\)"_s).rootItem(), Path(uR"(\\)"_s));
QCOMPARE(Path(u"//a"_s).rootItem(), Path(u"/"_s));
#ifdef Q_OS_WIN
QCOMPARE(Path(uR"(\a)"_qs).rootItem(), Path(uR"(\)"_qs));
QCOMPARE(Path(uR"(\\a)"_qs).rootItem(), Path(uR"(\)"_qs));
QCOMPARE(Path(uR"(\a)"_s).rootItem(), Path(uR"(\)"_s));
QCOMPARE(Path(uR"(\\a)"_s).rootItem(), Path(uR"(\)"_s));
QCOMPARE(Path(uR"(c:)"_qs).rootItem(), Path(uR"(c:)"_qs));
QCOMPARE(Path(uR"(c:/)"_qs).rootItem(), Path(uR"(c:/)"_qs));
QCOMPARE(Path(uR"(c:\)"_qs).rootItem(), Path(uR"(c:\)"_qs));
QCOMPARE(Path(uR"(c:\)"_qs).rootItem(), Path(uR"(c:/)"_qs));
QCOMPARE(Path(uR"(c:\a)"_qs).rootItem(), Path(uR"(c:\)"_qs));
QCOMPARE(Path(uR"(c:\a\b)"_qs).rootItem(), Path(uR"(c:\)"_qs));
QCOMPARE(Path(uR"(c:)"_s).rootItem(), Path(uR"(c:)"_s));
QCOMPARE(Path(uR"(c:/)"_s).rootItem(), Path(uR"(c:/)"_s));
QCOMPARE(Path(uR"(c:\)"_s).rootItem(), Path(uR"(c:\)"_s));
QCOMPARE(Path(uR"(c:\)"_s).rootItem(), Path(uR"(c:/)"_s));
QCOMPARE(Path(uR"(c:\a)"_s).rootItem(), Path(uR"(c:\)"_s));
QCOMPARE(Path(uR"(c:\a\b)"_s).rootItem(), Path(uR"(c:\)"_s));
#else
QCOMPARE(Path(uR"(\a)"_qs).rootItem(), Path(uR"(\a)"_qs));
QCOMPARE(Path(uR"(\\a)"_qs).rootItem(), Path(uR"(\\a)"_qs));
QCOMPARE(Path(uR"(\a)"_s).rootItem(), Path(uR"(\a)"_s));
QCOMPARE(Path(uR"(\\a)"_s).rootItem(), Path(uR"(\\a)"_s));
#endif
}
void testParentPath() const
{
QCOMPARE(Path().parentPath(), Path());
QCOMPARE(Path(u""_qs).parentPath(), Path());
QCOMPARE(Path(u""_s).parentPath(), Path());
QCOMPARE(Path(u"/"_qs).parentPath(), Path());
QCOMPARE(Path(uR"(\)"_qs).parentPath(), Path());
QCOMPARE(Path(u"/"_s).parentPath(), Path());
QCOMPARE(Path(uR"(\)"_s).parentPath(), Path());
QCOMPARE(Path(u"a"_qs).parentPath(), Path());
QCOMPARE(Path(u"/a"_qs).parentPath(), Path(u"/"_qs));
QCOMPARE(Path(u"a"_s).parentPath(), Path());
QCOMPARE(Path(u"/a"_s).parentPath(), Path(u"/"_s));
QCOMPARE(Path(u"//"_qs).parentPath(), Path());
QCOMPARE(Path(uR"(\\)"_qs).parentPath(), Path());
QCOMPARE(Path(u"//a"_qs).parentPath(), Path(u"/"_qs));
QCOMPARE(Path(u"//"_s).parentPath(), Path());
QCOMPARE(Path(uR"(\\)"_s).parentPath(), Path());
QCOMPARE(Path(u"//a"_s).parentPath(), Path(u"/"_s));
QCOMPARE(Path(u"a/b"_qs).parentPath(), Path(u"a"_qs));
QCOMPARE(Path(u"a/b"_s).parentPath(), Path(u"a"_s));
#ifdef Q_OS_WIN
QCOMPARE(Path(uR"(\a)"_qs).parentPath(), Path(uR"(\)"_qs));
QCOMPARE(Path(uR"(\\a)"_qs).parentPath(), Path(uR"(\)"_qs));
QCOMPARE(Path(uR"(a\b)"_qs).parentPath(), Path(u"a"_qs));
QCOMPARE(Path(uR"(\a)"_s).parentPath(), Path(uR"(\)"_s));
QCOMPARE(Path(uR"(\\a)"_s).parentPath(), Path(uR"(\)"_s));
QCOMPARE(Path(uR"(a\b)"_s).parentPath(), Path(u"a"_s));
QCOMPARE(Path(uR"(c:)"_qs).parentPath(), Path());
QCOMPARE(Path(uR"(c:/)"_qs).parentPath(), Path());
QCOMPARE(Path(uR"(c:\)"_qs).parentPath(), Path());
QCOMPARE(Path(uR"(c:\a)"_qs).parentPath(), Path(uR"(c:\)"_qs));
QCOMPARE(Path(uR"(c:\a\b)"_qs).parentPath(), Path(uR"(c:\a)"_qs));
QCOMPARE(Path(uR"(c:)"_s).parentPath(), Path());
QCOMPARE(Path(uR"(c:/)"_s).parentPath(), Path());
QCOMPARE(Path(uR"(c:\)"_s).parentPath(), Path());
QCOMPARE(Path(uR"(c:\a)"_s).parentPath(), Path(uR"(c:\)"_s));
QCOMPARE(Path(uR"(c:\a\b)"_s).parentPath(), Path(uR"(c:\a)"_s));
#else
QCOMPARE(Path(uR"(\a)"_qs).parentPath(), Path());
QCOMPARE(Path(uR"(\\a)"_qs).parentPath(), Path());
QCOMPARE(Path(uR"(a\b)"_qs).parentPath(), Path());
QCOMPARE(Path(uR"(\a)"_s).parentPath(), Path());
QCOMPARE(Path(uR"(\\a)"_s).parentPath(), Path());
QCOMPARE(Path(uR"(a\b)"_s).parentPath(), Path());
#endif
}