summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJiDe Zhang <zccrs@live.com>2021-07-10 09:57:22 +0800
committerMårten Nordheim <marten.nordheim@qt.io>2021-09-14 03:18:04 +0200
commit413098c3e38263741c1281a61156326457436744 (patch)
treeb3b33ac795ea6015a0e997b316ef9a86399a4f4e /tests
parentec3260e5c7107490fd7c8e196fed82e6ca188dca (diff)
feat: add new interfaces for std::filesystem::path
Add for QFile::exists/symLinkTarget/remove/moveToTrash/ rename/link/copy Change-Id: I4cbb908e945f043b2a5278a6d8d5149b2f20e871 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/corelib/io/qfile/tst_qfile.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/auto/corelib/io/qfile/tst_qfile.cpp b/tests/auto/corelib/io/qfile/tst_qfile.cpp
index 83a706e81d..b68690cd48 100644
--- a/tests/auto/corelib/io/qfile/tst_qfile.cpp
+++ b/tests/auto/corelib/io/qfile/tst_qfile.cpp
@@ -3920,13 +3920,27 @@ void tst_QFile::stdfilesystem()
path = "tile-fest";
QVERIFY(file.rename(path));
QVERIFY(fs::exists(path));
+#ifdef Q_OS_WIN
+ fs::path linkfile { "test-link.lnk" };
+#else
fs::path linkfile { "test-link" };
+#endif
QVERIFY(file.link(linkfile));
QVERIFY(fs::exists(linkfile));
+ QVERIFY(QFile::remove(linkfile));
+ QVERIFY(QFile::link(file.filesystemFileName(), linkfile));
+ QVERIFY(fs::exists(linkfile));
+ QCOMPARE(QFileInfo(QFile::filesystemSymLinkTarget(linkfile)),
+ QFileInfo(file.filesystemFileName()));
+ QCOMPARE(QFileInfo(QFile(linkfile).filesystemSymLinkTarget()),
+ QFileInfo(file.filesystemFileName()));
fs::path copyfile { "copy-file" };
QVERIFY(file.copy(copyfile));
QVERIFY(fs::exists(copyfile));
+ QVERIFY(QFile::remove(copyfile));
+ QVERIFY(QFile::copy(file.filesystemFileName(), copyfile));
+ QVERIFY(fs::exists(copyfile));
QFileDevice::Permissions p = QFile::permissions(path);
QVERIFY(p.testFlag(QFile::WriteUser) || p.testFlag(QFile::WriteOwner)); // some we know for sure
@@ -3935,6 +3949,10 @@ void tst_QFile::stdfilesystem()
else if (p.testFlag(QFile::ReadOwner))
p.setFlag(QFile::ReadOwner, false);
QVERIFY(QFile::setPermissions(path, p));
+
+ path = "test-exists";
+ fs::create_directory(path);
+ QVERIFY(QFile::exists(path) == fs::exists(path));
#else
QSKIP("Not supported");
#endif