summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorNikita Baryshnikov <nib952051@gmail.com>2015-04-09 13:41:19 +0300
committerMarc Mutz <marc.mutz@kdab.com>2015-04-20 07:43:58 +0000
commitad03511256a8279a8f55069e5a3a3465a9e122ec (patch)
tree2f9341e388b3a4b1804d3f00ab885730a957df95 /tests
parent280084cf96eb1d7fa8dba580866477c572a976c9 (diff)
QDir: fix int overflow
This caused reverse order of session items in qt creator. Introduced in ba287c55ef179b073482453298f513992b54c11e. Change-Id: I5c37ca6a1ef4753b6449eb9e87b4def5ea858677 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/corelib/io/qdir/tst_qdir.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/auto/corelib/io/qdir/tst_qdir.cpp b/tests/auto/corelib/io/qdir/tst_qdir.cpp
index caa22db144..e8a7105f6e 100644
--- a/tests/auto/corelib/io/qdir/tst_qdir.cpp
+++ b/tests/auto/corelib/io/qdir/tst_qdir.cpp
@@ -90,6 +90,8 @@ private slots:
void entryList_data();
void entryList();
+ void entryListTimedSort();
+
void entryListSimple_data();
void entryListSimple();
@@ -831,6 +833,45 @@ void tst_QDir::entryList()
QFile::remove(entrylistPath + "brokenlink");
}
+void tst_QDir::entryListTimedSort()
+{
+#ifndef QT_NO_PROCESS
+ const QString touchBinary = "/bin/touch";
+ if (!QFile::exists(touchBinary))
+ QSKIP("/bin/touch not found");
+
+ const QString entrylistPath = m_dataPath + "/entrylist/";
+ QTemporaryFile aFile(entrylistPath + "A-XXXXXX.qws");
+ QTemporaryFile bFile(entrylistPath + "B-XXXXXX.qws");
+
+ QVERIFY(aFile.open());
+ QVERIFY(bFile.open());
+ {
+ QProcess p;
+ p.start(touchBinary, QStringList() << "-t" << "201306021513" << aFile.fileName());
+ QVERIFY(p.waitForFinished(1000));
+ }
+ {
+ QProcess p;
+ p.start(touchBinary, QStringList() << "-t" << "201504131513" << bFile.fileName());
+ QVERIFY(p.waitForFinished(1000));
+ }
+
+ QStringList actual = QDir(entrylistPath).entryList(QStringList() << "*.qws", QDir::NoFilter,
+ QDir::Time);
+
+ QFileInfo aFileInfo(aFile);
+ QFileInfo bFileInfo(bFile);
+ QVERIFY(bFileInfo.lastModified().msecsTo(aFileInfo.lastModified()) < 0);
+
+ QCOMPARE(actual.size(), 2);
+ QCOMPARE(actual.first(), bFileInfo.fileName());
+ QCOMPARE(actual.last(), aFileInfo.fileName());
+#else
+ QSKIP("This test requires QProcess support.");
+#endif // QT_NO_PROCESS
+}
+
void tst_QDir::entryListSimple_data()
{
QTest::addColumn<QString>("dirName");