summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/io
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2020-09-16 20:41:17 -0700
committerThiago Macieira <thiago.macieira@intel.com>2020-10-05 21:31:18 -0700
commitdfa35ee6c8c919ccf1ae378074cf1b5501c24d9e (patch)
treede83fc271416a66b4587fc5c5cdfa0bbe55557b5 /tests/auto/corelib/io
parent4e0028895793f656488431179a4ee9c4f61f05fa (diff)
tst_QUrl/Win: test QUrl::fromLocalFile with backslashes
Pick-to: 5.15 Change-Id: I3eb349b832c14610895efffd1635752ccc82889a Reviewed-by: David Faure <david.faure@kdab.com>
Diffstat (limited to 'tests/auto/corelib/io')
-rw-r--r--tests/auto/corelib/io/qurl/tst_qurl.cpp23
1 files changed, 17 insertions, 6 deletions
diff --git a/tests/auto/corelib/io/qurl/tst_qurl.cpp b/tests/auto/corelib/io/qurl/tst_qurl.cpp
index a9e0276395..896674e67c 100644
--- a/tests/auto/corelib/io/qurl/tst_qurl.cpp
+++ b/tests/auto/corelib/io/qurl/tst_qurl.cpp
@@ -1311,12 +1311,23 @@ void tst_QUrl::fromLocalFile_data()
QTest::newRow("windows-drive") << QString::fromLatin1("c:/a.txt") << QString::fromLatin1("file:///c:/a.txt") << QString::fromLatin1("/c:/a.txt");
// Windows UNC paths
- QTest::addRow("windows-unc-path") << QString::fromLatin1("//somehost/somedir/somefile") << QString::fromLatin1("file://somehost/somedir/somefile")
- << QString::fromLatin1("/somedir/somefile");
- QTest::newRow("windows-unc-nopath") << QString::fromLatin1("//somehost") << QString::fromLatin1("file://somehost")
- << QString::fromLatin1("");
- QTest::newRow("windows-unc-root") << QString::fromLatin1("//somehost/") << QString::fromLatin1("file://somehost/")
- << QString::fromLatin1("/");
+ for (const char *suffix : { "", "/", "/somedir/somefile" }) {
+ const char *pathDescription =
+ strlen(suffix) == 0 ? "nopath" :
+ strlen(suffix) > 1 ? "path" : "root";
+
+ QTest::addRow("windows-unc-%s", pathDescription)
+ << QString("//somehost") + suffix
+ << QString("file://somehost") + suffix
+ << QString(suffix);
+#ifdef Q_OS_WIN32
+ // debackslashification only happens on Windows
+ QTest::addRow("windows-backslash-unc-%s", pathDescription)
+ << QString(QString("//somehost") + suffix).replace('/', '\\')
+ << QString("file://somehost") + suffix
+ << QString(suffix);
+#endif
+ }
QTest::newRow("windows-webdav")
<< QString::fromLatin1("//somewebdavhost@SSL/somedir/somefile")