summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib')
-rw-r--r--tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp8
-rw-r--r--tests/auto/corelib/kernel/qobject/tst_qobject.cpp17
-rw-r--r--tests/auto/corelib/tools/qtimezone/tst_qtimezone.cpp10
3 files changed, 31 insertions, 4 deletions
diff --git a/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp b/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp
index 9645ca9ba2..4cfbdf8c16 100644
--- a/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp
+++ b/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp
@@ -29,6 +29,7 @@
#include <QtTest/QtTest>
#include <qcoreapplication.h>
#include <qstring.h>
+#include <qtemporarydir.h>
#include <qtemporaryfile.h>
#include <qfile.h>
#include <qdir.h>
@@ -81,13 +82,15 @@ private slots:
void QTBUG_4796();
void guaranteeUnique();
private:
+ QTemporaryDir m_temporaryDir;
QString m_previousCurrent;
};
void tst_QTemporaryFile::initTestCase()
{
+ QVERIFY2(m_temporaryDir.isValid(), qPrintable(m_temporaryDir.errorString()));
m_previousCurrent = QDir::currentPath();
- QDir::setCurrent(QDir::tempPath());
+ QVERIFY(QDir::setCurrent(m_temporaryDir.path()));
// For QTBUG_4796
QVERIFY(QDir("test-XXXXXX").exists() || QDir().mkdir("test-XXXXXX"));
@@ -114,9 +117,6 @@ void tst_QTemporaryFile::initTestCase()
void tst_QTemporaryFile::cleanupTestCase()
{
- // From QTBUG_4796
- QVERIFY(QDir().rmdir("test-XXXXXX"));
-
QDir::setCurrent(m_previousCurrent);
}
diff --git a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
index e38dbad7d7..b605b89f34 100644
--- a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
+++ b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
@@ -135,6 +135,7 @@ private slots:
void connectFunctorOverloads();
void connectFunctorQueued();
void connectFunctorWithContext();
+ void connectFunctorWithContextUnique();
void connectFunctorDeadlock();
void connectStaticSlotWithObject();
void disconnectDoesNotLeakFunctor();
@@ -5999,6 +6000,22 @@ void tst_QObject::deleteLaterInAboutToBlockHandler()
QCOMPARE(statusAboutToBlock, 2);
}
+void tst_QObject::connectFunctorWithContextUnique()
+{
+ // Qt::UniqueConnections currently don't work for functors, but we need to
+ // be sure that they don't crash. If that is implemented, change this test.
+
+ SenderObject sender;
+ ReceiverObject receiver;
+ QObject::connect(&sender, &SenderObject::signal1, &receiver, &ReceiverObject::slot1);
+ receiver.count_slot1 = 0;
+
+ QObject::connect(&sender, &SenderObject::signal1, &receiver, SlotFunctor(), Qt::UniqueConnection);
+
+ sender.emitSignal1();
+ QCOMPARE(receiver.count_slot1, 1);
+}
+
class MyFunctor
{
public:
diff --git a/tests/auto/corelib/tools/qtimezone/tst_qtimezone.cpp b/tests/auto/corelib/tools/qtimezone/tst_qtimezone.cpp
index 9fd418742c..c631b395f8 100644
--- a/tests/auto/corelib/tools/qtimezone/tst_qtimezone.cpp
+++ b/tests/auto/corelib/tools/qtimezone/tst_qtimezone.cpp
@@ -842,6 +842,16 @@ void tst_QTimeZone::tzTest()
QTzTimeZonePrivate::Data datatz2 = tztz2.data(std);
QTzTimeZonePrivate::Data datautc2 = tzutc2.data(std);
QCOMPARE(datatz2.offsetFromUtc, datautc2.offsetFromUtc);
+
+ // Test a timezone with a name that isn't all letters
+ QTzTimeZonePrivate tzBarnaul("Asia/Barnaul");
+ if (tzBarnaul.isValid()) {
+ QCOMPARE(tzBarnaul.data(std).abbreviation, QString("+07"));
+
+ // first full day of the new rule (tzdata2016b)
+ QDateTime dt(QDate(2016, 3, 28), QTime(0, 0, 0), Qt::UTC);
+ QCOMPARE(tzBarnaul.data(dt.toMSecsSinceEpoch()).abbreviation, QString("+07"));
+ }
#endif // Q_OS_UNIX
}