diff options
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/corelib/io/qsavefile/tst_qsavefile.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/auto/corelib/io/qsavefile/tst_qsavefile.cpp b/tests/auto/corelib/io/qsavefile/tst_qsavefile.cpp index 63b9266ff6..08b943ba72 100644 --- a/tests/auto/corelib/io/qsavefile/tst_qsavefile.cpp +++ b/tests/auto/corelib/io/qsavefile/tst_qsavefile.cpp @@ -94,6 +94,7 @@ private slots: void transactionalWriteCanceled(); void transactionalWriteErrorRenaming(); void symlink(); + void directory(); }; static inline QByteArray msgCannotOpen(const QFileDevice &f) @@ -454,5 +455,29 @@ void tst_QSaveFile::symlink() #endif } +void tst_QSaveFile::directory() +{ + QTemporaryDir dir; + QVERIFY(dir.isValid()); + + const QString subdir = dir.path() + QLatin1String("/subdir"); + QVERIFY(QDir(dir.path()).mkdir(QStringLiteral("subdir"))); + { + QFile sf(subdir); + QVERIFY(!sf.open(QIODevice::WriteOnly)); + } + +#ifdef Q_OS_UNIX + //link to a directory + const QString linkToDir = dir.path() + QLatin1String("/linkToDir"); + QVERIFY(QFile::link(subdir, linkToDir)); + + { + QFile sf(linkToDir); + QVERIFY(!sf.open(QIODevice::WriteOnly)); + } +#endif +} + QTEST_MAIN(tst_QSaveFile) #include "tst_qsavefile.moc" |