summaryrefslogtreecommitdiffstats
path: root/tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-01-14 20:07:36 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-01-14 20:07:36 (GMT)
commitd39f3980f5ba449a43d25d46a3c0eee81001856a (patch)
treebd58b28e5f9f088b5a2e8b755f8787aa78a292e3 /tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp
parentcfee61fd74d7fe73f0de13356fe683bc8ae91f92 (diff)
parent2d0bd1a13328d5a5ed6c4d1e768937a6627f1086 (diff)
downloadQt-d39f3980f5ba449a43d25d46a3c0eee81001856a.zip
Qt-d39f3980f5ba449a43d25d46a3c0eee81001856a.tar.gz
Qt-d39f3980f5ba449a43d25d46a3c0eee81001856a.tar.bz2
Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1: QFile::remove: don't fail for unrelated errors Fix tst_qmlgraphicstext::letterSpacing tst_qmlgraphicstext::wordSpacing Sent for review into 4.6. Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ( 8f6992f4e8f027818429d428393b08068eca9ffa ) network internals: fix uploading of data File dialog mode is not correctly updated in Mac (Cocoa). add tests for QFlags behavior in QtScript
Diffstat (limited to 'tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp')
-rw-r--r--tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp b/tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp
index c781108..1304f4e 100644
--- a/tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp
+++ b/tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp
@@ -95,6 +95,7 @@ private slots:
void keepOpenMode();
void resetTemplateAfterError();
void setTemplateAfterOpen();
+ void autoRemoveAfterFailedRename();
public:
};
@@ -558,5 +559,40 @@ void tst_QTemporaryFile::setTemplateAfterOpen()
QCOMPARE( temp.fileTemplate(), newTemplate );
}
+void tst_QTemporaryFile::autoRemoveAfterFailedRename()
+{
+ struct CleanOnReturn
+ {
+ ~CleanOnReturn()
+ {
+ if (!tempName.isEmpty())
+ QFile::remove(tempName);
+ }
+
+ void reset()
+ {
+ tempName.clear();
+ }
+
+ QString tempName;
+ };
+
+ CleanOnReturn cleaner;
+
+ {
+ QTemporaryFile file;
+ QVERIFY( file.open() );
+ cleaner.tempName = file.fileName();
+
+ QVERIFY( QFile::exists(cleaner.tempName) );
+ QVERIFY( !QFileInfo("i-do-not-exist").isDir() );
+ QVERIFY( !file.rename("i-do-not-exist/file.txt") );
+ QVERIFY( QFile::exists(cleaner.tempName) );
+ }
+
+ QVERIFY( !QFile::exists(cleaner.tempName) );
+ cleaner.reset();
+}
+
QTEST_MAIN(tst_QTemporaryFile)
#include "tst_qtemporaryfile.moc"