diff options
Diffstat (limited to 'tests/auto/corelib')
-rw-r--r-- | tests/auto/corelib/io/qfile/tst_qfile.cpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/auto/corelib/io/qfile/tst_qfile.cpp b/tests/auto/corelib/io/qfile/tst_qfile.cpp index 06c3a9578f..bfb14da8b8 100644 --- a/tests/auto/corelib/io/qfile/tst_qfile.cpp +++ b/tests/auto/corelib/io/qfile/tst_qfile.cpp @@ -168,6 +168,8 @@ private slots: void getch(); void ungetChar(); void createFile(); + void createFileNewOnly(); + void openFileExistingOnly(); void append(); void permissions_data(); void permissions(); @@ -1211,6 +1213,48 @@ void tst_QFile::createFile() QVERIFY( QFile::exists( "createme.txt" ) ); } +void tst_QFile::createFileNewOnly() +{ + QFile::remove("createme.txt"); + QVERIFY(!QFile::exists("createme.txt")); + + QFile f("createme.txt"); + QVERIFY2(f.open(QIODevice::NewOnly), msgOpenFailed(f).constData()); + f.close(); + QVERIFY(QFile::exists("createme.txt")); + + QVERIFY(!f.open(QIODevice::NewOnly)); + QVERIFY(QFile::exists("createme.txt")); + QFile::remove("createme.txt"); +} + +void tst_QFile::openFileExistingOnly() +{ + QFile::remove("dontcreateme.txt"); + QVERIFY(!QFile::exists("dontcreateme.txt")); + + QFile f("dontcreateme.txt"); + QVERIFY(!f.open(QIODevice::ExistingOnly | QIODevice::ReadOnly)); + QVERIFY(!f.open(QIODevice::ExistingOnly | QIODevice::WriteOnly)); + QVERIFY(!f.open(QIODevice::ExistingOnly | QIODevice::ReadWrite)); + QVERIFY(!f.open(QIODevice::ExistingOnly)); + QVERIFY(!QFile::exists("dontcreateme.txt")); + + QVERIFY2(f.open(QIODevice::NewOnly), msgOpenFailed(f).constData()); + f.close(); + QVERIFY(QFile::exists("dontcreateme.txt")); + + QVERIFY2(f.open(QIODevice::ExistingOnly | QIODevice::ReadOnly), msgOpenFailed(f).constData()); + f.close(); + QVERIFY2(f.open(QIODevice::ExistingOnly | QIODevice::WriteOnly), msgOpenFailed(f).constData()); + f.close(); + QVERIFY2(f.open(QIODevice::ExistingOnly | QIODevice::ReadWrite), msgOpenFailed(f).constData()); + f.close(); + QVERIFY(!f.open(QIODevice::ExistingOnly)); + QVERIFY(QFile::exists("dontcreateme.txt")); + QFile::remove("dontcreateme.txt"); +} + void tst_QFile::append() { const QString name("appendme.txt"); |