diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-09-22 14:17:52 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-09-23 11:23:36 +0200 |
commit | c5a3e5edd9e63b18abf1838c86a27a662224b02c (patch) | |
tree | 9a367c113d9b586da73439cb100744d616ce6399 /tests/auto/corelib/io/qfile/tst_qfile.cpp | |
parent | 3312ac91692c3a4a033d123eecbf982d3ff10471 (diff) | |
parent | a5df2e7120412dfdedb9f4951cdb061c0f218bf7 (diff) |
Merge remote-tracking branch 'origin/5.3' into 5.4
The isAlwaysAskOption was removed in 38621713150b663355ebeb799a5a50d8e39a3c38
so manually removed code in
src/plugins/bearer/connman/qconnmanengine.cpp
Conflicts:
src/corelib/global/qglobal.h
src/corelib/tools/qcollator_macx.cpp
src/corelib/tools/qstring.cpp
src/gui/kernel/qwindow.cpp
src/gui/kernel/qwindow_p.h
src/gui/text/qtextengine.cpp
src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h
src/plugins/platforms/android/qandroidinputcontext.cpp
src/plugins/platforms/xcb/qglxintegration.cpp
src/plugins/platforms/xcb/qglxintegration.h
src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
src/testlib/qtestcase.cpp
src/testlib/qtestlog.cpp
src/widgets/dialogs/qfiledialog.cpp
src/widgets/kernel/qwindowcontainer.cpp
tests/auto/corelib/tools/qcollator/tst_qcollator.cpp
tests/auto/gui/text/qtextscriptengine/tst_qtextscriptengine.cpp
tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp
tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp
Change-Id: Ic5d4187f682257a17509f6cd28d2836c6cfe2fc8
Diffstat (limited to 'tests/auto/corelib/io/qfile/tst_qfile.cpp')
-rw-r--r-- | tests/auto/corelib/io/qfile/tst_qfile.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/auto/corelib/io/qfile/tst_qfile.cpp b/tests/auto/corelib/io/qfile/tst_qfile.cpp index 9ce931d78a..ddfb68cabc 100644 --- a/tests/auto/corelib/io/qfile/tst_qfile.cpp +++ b/tests/auto/corelib/io/qfile/tst_qfile.cpp @@ -234,6 +234,8 @@ private slots: void mapResource(); void mapOpenMode_data(); void mapOpenMode(); + void mapWrittenFile_data(); + void mapWrittenFile(); #ifndef Q_OS_WINCE void openStandardStreamsFileDescriptors(); @@ -3087,6 +3089,44 @@ void tst_QFile::mapOpenMode() file.close(); } +void tst_QFile::mapWrittenFile_data() +{ + QTest::addColumn<int>("mode"); + QTest::newRow("buffered") << 0; + QTest::newRow("unbuffered") << int(QIODevice::Unbuffered); +} + +void tst_QFile::mapWrittenFile() +{ + static const char data[128] = "Some data padded with nulls\n"; + QFETCH(int, mode); + + QString fileName = QDir::currentPath() + '/' + "qfile_map_testfile"; + +#ifdef Q_OS_WINCE + fileName = QFileInfo(fileName).absoluteFilePath(); +#endif + + if (QFile::exists(fileName)) { + QVERIFY(QFile::setPermissions(fileName, + QFile::WriteOwner | QFile::ReadOwner | QFile::WriteUser | QFile::ReadUser)); + QFile::remove(fileName); + } + QFile file(fileName); + QVERIFY(file.open(QIODevice::ReadWrite | QFile::OpenMode(mode))); + QCOMPARE(file.write(data, sizeof data), qint64(sizeof data)); + if ((mode & QIODevice::Unbuffered) == 0) + file.flush(); + + // test that we can read the data we've just written, without closing the file + uchar *memory = file.map(0, sizeof data); + QVERIFY(memory); + QVERIFY(memcmp(memory, data, sizeof data) == 0); + + file.close(); + file.remove(); +} + void tst_QFile::openDirectory() { QFile f1(m_resourcesDir); |