diff options
author | Frederik Gladhorn <frederik.gladhorn@qt.io> | 2017-08-02 23:15:27 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2017-08-02 23:15:27 +0000 |
commit | 6c2bfbf88efa745882c636d9b91c4210b8fa5572 (patch) | |
tree | 54625073d07ee5830bdfba3853cf9d95ec211b7d /tests/auto/corelib | |
parent | 72cf2339edbb302b8b1dbe14c5475e8d2c3f62b1 (diff) | |
parent | ee07b912a1768ea0b103544f9eeac41f3cf50cf6 (diff) |
Merge "Merge remote-tracking branch 'origin/5.9' into dev" into refs/staging/dev
Diffstat (limited to 'tests/auto/corelib')
8 files changed, 100 insertions, 41 deletions
diff --git a/tests/auto/corelib/io/largefile/tst_largefile.cpp b/tests/auto/corelib/io/largefile/tst_largefile.cpp index 99e1d5a32f..5975303ca6 100644 --- a/tests/auto/corelib/io/largefile/tst_largefile.cpp +++ b/tests/auto/corelib/io/largefile/tst_largefile.cpp @@ -228,7 +228,7 @@ QByteArray const &tst_LargeFile::getDataBlock(int index, qint64 position) void tst_LargeFile::initTestCase() { m_previousCurrent = QDir::currentPath(); - m_tempDir = QSharedPointer<QTemporaryDir>(new QTemporaryDir); + m_tempDir = QSharedPointer<QTemporaryDir>::create(); QVERIFY2(!m_tempDir.isNull(), qPrintable("Could not create temporary directory.")); QVERIFY2(QDir::setCurrent(m_tempDir->path()), qPrintable("Could not switch current directory")); diff --git a/tests/auto/corelib/io/qabstractfileengine/tst_qabstractfileengine.cpp b/tests/auto/corelib/io/qabstractfileengine/tst_qabstractfileengine.cpp index 4e5059c1a2..68fc628a41 100644 --- a/tests/auto/corelib/io/qabstractfileengine/tst_qabstractfileengine.cpp +++ b/tests/auto/corelib/io/qabstractfileengine/tst_qabstractfileengine.cpp @@ -473,7 +473,7 @@ protected: if (create) { QSharedPointer<File> &p = fileSystem[fileName_]; if (p.isNull()) - p = QSharedPointer<File>(new File); + p = QSharedPointer<File>::create(); return p; } @@ -571,7 +571,7 @@ class FileEngineHandler void tst_QAbstractFileEngine::initTestCase() { m_previousCurrent = QDir::currentPath(); - m_currentDir = QSharedPointer<QTemporaryDir>(new QTemporaryDir()); + m_currentDir = QSharedPointer<QTemporaryDir>::create(); QVERIFY2(!m_currentDir.isNull(), qPrintable("Could not create current directory.")); QDir::setCurrent(m_currentDir->path()); } diff --git a/tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp b/tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp index 0068411b94..14a2528cc6 100644 --- a/tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp +++ b/tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp @@ -300,7 +300,7 @@ void tst_QDataStream::getSetCheck() void tst_QDataStream::initTestCase() { m_previousCurrent = QDir::currentPath(); - m_tempDir = QSharedPointer<QTemporaryDir>(new QTemporaryDir); + m_tempDir = QSharedPointer<QTemporaryDir>::create(); QVERIFY2(!m_tempDir.isNull(), qPrintable("Could not create temporary directory.")); QVERIFY2(QDir::setCurrent(m_tempDir->path()), qPrintable("Could not switch current directory")); } diff --git a/tests/auto/corelib/io/qdir/tst_qdir.cpp b/tests/auto/corelib/io/qdir/tst_qdir.cpp index da948849f6..e6bad9a8ef 100644 --- a/tests/auto/corelib/io/qdir/tst_qdir.cpp +++ b/tests/auto/corelib/io/qdir/tst_qdir.cpp @@ -93,6 +93,9 @@ private slots: void entryList_data(); void entryList(); + void entryListWithTestFiles_data(); + void entryListWithTestFiles(); + void entryListTimedSort(); void entryListSimple_data(); @@ -717,6 +720,32 @@ void tst_QDir::entryList_data() QTest::newRow("resources2") << QString(":/tst_qdir/resources/entryList") << QStringList("*.data") << (int)(QDir::Files) << (int)(QDir::NoSort) << QString("file1.data,file2.data,file3.data").split(','); +} + +void tst_QDir::entryList() +{ + QFETCH(QString, dirName); + QFETCH(QStringList, nameFilters); + QFETCH(int, filterspec); + QFETCH(int, sortspec); + QFETCH(QStringList, expected); + + QDir dir(dirName); + QVERIFY2(dir.exists(), msgDoesNotExist(dirName).constData()); + + QStringList actual = dir.entryList(nameFilters, (QDir::Filters)filterspec, + (QDir::SortFlags)sortspec); + + QCOMPARE(actual, expected); +} + +void tst_QDir::entryListWithTestFiles_data() +{ + QTest::addColumn<QString>("dirName"); // relative from current path or abs + QTest::addColumn<QStringList>("nameFilters"); + QTest::addColumn<int>("filterspec"); + QTest::addColumn<int>("sortspec"); + QTest::addColumn<QStringList>("expected"); QTest::newRow("nofilter") << (m_dataPath + "/entrylist/") << QStringList("*") << int(QDir::NoFilter) << int(QDir::Name) @@ -823,7 +852,7 @@ void tst_QDir::entryList_data() << QString("c,b,a,a.a,a.b,a.c,b.b,b.c,b.a,c.c,c.b,c.a,f.c,f.b,f.a,f,e.c,e.b,e.a,e,d.c,d.b,d.a,d").split(','); } -void tst_QDir::entryList() +void tst_QDir::entryListWithTestFiles() { QFETCH(QString, dirName); QFETCH(QStringList, nameFilters); @@ -831,28 +860,49 @@ void tst_QDir::entryList() QFETCH(int, sortspec); QFETCH(QStringList, expected); + QStringList testFiles; + QString entrylistPath = (m_dataPath + "/entrylist/"); - QFile(entrylistPath + "writable").open(QIODevice::ReadWrite); - QFile(entrylistPath + "file").setPermissions(QFile::ReadOwner | QFile::ReadUser); - QFile::remove(entrylistPath + "linktofile"); - QFile::remove(entrylistPath + "linktodirectory"); - QFile::remove(entrylistPath + "linktofile.lnk"); - QFile::remove(entrylistPath + "linktodirectory.lnk"); - QFile::remove(entrylistPath + "brokenlink.lnk"); - QFile::remove(entrylistPath + "brokenlink"); + + { + const QString writableFileName = entrylistPath + "writable"; + QFile writableFile(writableFileName); + testFiles.append(writableFileName); + + QVERIFY2(writableFile.open(QIODevice::ReadWrite), + qPrintable(writableFile.errorString())); + } + + { + QFile readOnlyFile(entrylistPath + "file"); + QVERIFY2(readOnlyFile.setPermissions(QFile::ReadOwner | QFile::ReadUser), + qPrintable(readOnlyFile.errorString())); + } + #ifndef Q_NO_SYMLINKS #if defined(Q_OS_WIN) // ### Sadly, this is a platform difference right now. // Note we are using capital L in entryList on one side here, to test case-insensitivity - QFile::link((m_dataPath + "/entryList/") + "file", entrylistPath + "linktofile.lnk"); - QFile::link((m_dataPath + "/entryList/") + "directory", entrylistPath + "linktodirectory.lnk"); - QFile::link((m_dataPath + "/entryList/") + "nothing", entrylistPath + "brokenlink.lnk"); + const QVector<QPair<QString, QString> > symLinks = + { + {m_dataPath + "/entryList/file", entrylistPath + "linktofile.lnk"}, + {m_dataPath + "/entryList/directory", entrylistPath + "linktodirectory.lnk"}, + {m_dataPath + "/entryList/nothing", entrylistPath + "brokenlink.lnk"} + }; #else - QFile::link("file", entrylistPath + "linktofile.lnk"); - QFile::link("directory", entrylistPath + "linktodirectory.lnk"); - QFile::link("nothing", entrylistPath + "brokenlink.lnk"); + const QVector<QPair<QString, QString> > symLinks = + { + {"file", entrylistPath + "linktofile.lnk"}, + {"directory", entrylistPath + "linktodirectory.lnk"}, + {"nothing", entrylistPath + "brokenlink.lnk"} + }; #endif + for (const auto &symLink : symLinks) { + QVERIFY2(QFile::link(symLink.first, symLink.second), + qPrintable(symLink.first + "->" + symLink.second)); + testFiles.append(symLink.second); + } #endif //Q_NO_SYMLINKS QDir dir(dirName); @@ -861,8 +911,6 @@ void tst_QDir::entryList() QStringList actual = dir.entryList(nameFilters, (QDir::Filters)filterspec, (QDir::SortFlags)sortspec); - int max = qMin(actual.count(), expected.count()); - bool doContentCheck = true; #if defined(Q_OS_UNIX) if (qstrcmp(QTest::currentDataTag(), "QDir::AllEntries | QDir::Writable") == 0) { @@ -872,20 +920,11 @@ void tst_QDir::entryList() } #endif - if (doContentCheck) { - for (int i=0; i<max; ++i) - QCOMPARE(actual[i], expected[i]); - - QCOMPARE(actual.count(), expected.count()); - } + for (int i = testFiles.size() - 1; i >= 0; --i) + QVERIFY2(QFile::remove(testFiles.at(i)), qPrintable(testFiles.at(i))); - QFile::remove(entrylistPath + "writable"); - QFile::remove(entrylistPath + "linktofile"); - QFile::remove(entrylistPath + "linktodirectory"); - QFile::remove(entrylistPath + "linktofile.lnk"); - QFile::remove(entrylistPath + "linktodirectory.lnk"); - QFile::remove(entrylistPath + "brokenlink.lnk"); - QFile::remove(entrylistPath + "brokenlink"); + if (doContentCheck) + QCOMPARE(actual, expected); } void tst_QDir::entryListTimedSort() diff --git a/tests/auto/corelib/io/qfile/tst_qfile.cpp b/tests/auto/corelib/io/qfile/tst_qfile.cpp index 17497e46b9..54d089f3bb 100644 --- a/tests/auto/corelib/io/qfile/tst_qfile.cpp +++ b/tests/auto/corelib/io/qfile/tst_qfile.cpp @@ -1155,7 +1155,6 @@ void tst_QFile::invalidFile_data() #else #if !defined(Q_OS_WINRT) QTest::newRow( "colon2" ) << invalidDriveLetter() + QString::fromLatin1(":ail:invalid"); - QTest::newRow( "date" ) << QString( "testLog-03:20.803Z.txt" ); #endif QTest::newRow( "colon3" ) << QString( ":failinvalid" ); QTest::newRow( "forwardslash" ) << QString( "fail/invalid" ); diff --git a/tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp b/tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp index 5cb532f76b..a76fd4703e 100644 --- a/tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp +++ b/tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp @@ -71,7 +71,7 @@ void tst_QIODevice::initTestCase() || QFile::copy(QStringLiteral(":/tst_qiodevice.cpp"), QStringLiteral("./tst_qiodevice.cpp"))); #endif m_previousCurrent = QDir::currentPath(); - m_tempDir = QSharedPointer<QTemporaryDir>(new QTemporaryDir); + m_tempDir = QSharedPointer<QTemporaryDir>::create(); QVERIFY2(!m_tempDir.isNull(), qPrintable("Could not create temporary directory.")); QVERIFY2(QDir::setCurrent(m_tempDir->path()), qPrintable("Could not switch current directory")); } diff --git a/tests/auto/corelib/kernel/qeventloop/tst_qeventloop.cpp b/tests/auto/corelib/kernel/qeventloop/tst_qeventloop.cpp index aff04afe08..0b4f76ef70 100644 --- a/tests/auto/corelib/kernel/qeventloop/tst_qeventloop.cpp +++ b/tests/auto/corelib/kernel/qeventloop/tst_qeventloop.cpp @@ -216,12 +216,11 @@ void tst_QEventLoop::processEvents() awakeSpy.clear(); QVERIFY(eventLoop.processEvents(QEventLoop::WaitForMoreEvents)); - // Verify that the eventloop has blocked and woken up. Some eventloops - // may block and wake up multiple times. - QVERIFY(aboutToBlockSpy.count() > 0); - QVERIFY(awakeSpy.count() > 0); // We should get one awake for each aboutToBlock, plus one awake when - // processEvents is entered. + // processEvents is entered. There is no guarantee that that the + // processEvents call actually blocked, since the OS may introduce + // native events at any time. + QVERIFY(awakeSpy.count() > 0); QVERIFY(awakeSpy.count() >= aboutToBlockSpy.count()); killTimer(timerId); diff --git a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp index 88984feff7..d424e6086d 100644 --- a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp +++ b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp @@ -139,6 +139,7 @@ private slots: void formattedDataSize_data(); void formattedDataSize(); + void bcp47Name(); private: QString m_decimal, m_thousand, m_sdate, m_ldate, m_time; @@ -2609,5 +2610,26 @@ void tst_QLocale::formattedDataSize() QCOMPARE(QLocale(language).formattedDataSize(bytes, decimalPlaces, units), output); } +void tst_QLocale::bcp47Name() +{ + QCOMPARE(QLocale("C").bcp47Name(), QStringLiteral("en")); + QCOMPARE(QLocale("en").bcp47Name(), QStringLiteral("en")); + QCOMPARE(QLocale("en_US").bcp47Name(), QStringLiteral("en")); + QCOMPARE(QLocale("en_GB").bcp47Name(), QStringLiteral("en-GB")); + QCOMPARE(QLocale("en_DE").bcp47Name(), QStringLiteral("en-DE")); + QCOMPARE(QLocale("de_DE").bcp47Name(), QStringLiteral("de")); + QCOMPARE(QLocale("sr_RS").bcp47Name(), QStringLiteral("sr")); + QCOMPARE(QLocale("sr_Cyrl_RS").bcp47Name(), QStringLiteral("sr")); + QCOMPARE(QLocale("sr_Latn_RS").bcp47Name(), QStringLiteral("sr-Latn")); + QCOMPARE(QLocale("sr_ME").bcp47Name(), QStringLiteral("sr-ME")); + QCOMPARE(QLocale("sr_Cyrl_ME").bcp47Name(), QStringLiteral("sr-Cyrl-ME")); + QCOMPARE(QLocale("sr_Latn_ME").bcp47Name(), QStringLiteral("sr-ME")); + + // Fall back to defaults when country isn't in CLDR for this language: + QCOMPARE(QLocale("sr_HR").bcp47Name(), QStringLiteral("sr")); + QCOMPARE(QLocale("sr_Cyrl_HR").bcp47Name(), QStringLiteral("sr")); + QCOMPARE(QLocale("sr_Latn_HR").bcp47Name(), QStringLiteral("sr-Latn")); +} + QTEST_MAIN(tst_QLocale) #include "tst_qlocale.moc" |