aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmlecmascript
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2012-12-18 11:41:06 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-12-20 21:38:38 +0100
commit5fd1c5fbaf13195fed16ca171f4eac81be125e2b (patch)
treeec6a445f2f0367f7a5298274950750ad56e23c68 /tests/auto/qml/qqmlecmascript
parent920b949e5185258baabfb3f738b660b3c0f002e3 (diff)
Quick tests: Introduce QQmlMessageHandler.
Add QQmlMessageHandler class that can be used to record messages into a QStringList. It also makes sure that the old message handler is reinstalled if the test fails. Task-number: QTBUG-28611 Change-Id: I0fff7bc11e188cf47178d9573e5f2eead693bc10 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Diffstat (limited to 'tests/auto/qml/qqmlecmascript')
-rw-r--r--tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp70
1 files changed, 19 insertions, 51 deletions
diff --git a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
index bca76a7bc9..9ecb3b6e1d 100644
--- a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
+++ b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
@@ -1923,27 +1923,18 @@ void tst_qqmlecmascript::compileInvalidBinding()
delete object;
}
-static int transientErrorsMsgCount = 0;
-static void transientErrorsMsgHandler(QtMsgType, const QMessageLogContext &, const QString &)
-{
- ++transientErrorsMsgCount;
-}
-
// Check that transient binding errors are not displayed
void tst_qqmlecmascript::transientErrors()
{
{
QQmlComponent component(&engine, testFileUrl("transientErrors.qml"));
- transientErrorsMsgCount = 0;
- QtMessageHandler old = qInstallMessageHandler(transientErrorsMsgHandler);
+ QQmlTestMessageHandler messageHandler;
QObject *object = component.create();
QVERIFY(object != 0);
- qInstallMessageHandler(old);
-
- QCOMPARE(transientErrorsMsgCount, 0);
+ QVERIFY2(messageHandler.messages().isEmpty(), qPrintable(messageHandler.messageString()));
delete object;
}
@@ -1952,15 +1943,12 @@ void tst_qqmlecmascript::transientErrors()
{
QQmlComponent component(&engine, testFileUrl("transientErrors.2.qml"));
- transientErrorsMsgCount = 0;
- QtMessageHandler old = qInstallMessageHandler(transientErrorsMsgHandler);
+ QQmlTestMessageHandler messageHandler;
QObject *object = component.create();
QVERIFY(object != 0);
- qInstallMessageHandler(old);
-
- QCOMPARE(transientErrorsMsgCount, 0);
+ QVERIFY2(messageHandler.messages().isEmpty(), qPrintable(messageHandler.messageString()));
delete object;
}
@@ -1973,13 +1961,11 @@ void tst_qqmlecmascript::shutdownErrors()
QObject *object = component.create();
QVERIFY(object != 0);
- transientErrorsMsgCount = 0;
- QtMessageHandler old = qInstallMessageHandler(transientErrorsMsgHandler);
+ QQmlTestMessageHandler messageHandler;
delete object;
- qInstallMessageHandler(old);
- QCOMPARE(transientErrorsMsgCount, 0);
+ QVERIFY2(messageHandler.messages().isEmpty(), qPrintable(messageHandler.messageString()));
}
void tst_qqmlecmascript::compositePropertyType()
@@ -5794,14 +5780,11 @@ void tst_qqmlecmascript::qtbug_9792()
delete context;
- transientErrorsMsgCount = 0;
- QtMessageHandler old = qInstallMessageHandler(transientErrorsMsgHandler);
+ QQmlTestMessageHandler messageHandler;
object->basicSignal();
-
- qInstallMessageHandler(old);
- QCOMPARE(transientErrorsMsgCount, 0);
+ QVERIFY2(messageHandler.messages().isEmpty(), qPrintable(messageHandler.messageString()));
delete object;
}
@@ -5835,14 +5818,11 @@ void tst_qqmlecmascript::noSpuriousWarningsAtShutdown()
QObject *o = component.create();
- transientErrorsMsgCount = 0;
- QtMessageHandler old = qInstallMessageHandler(transientErrorsMsgHandler);
+ QQmlTestMessageHandler messageHandler;
delete o;
- qInstallMessageHandler(old);
-
- QCOMPARE(transientErrorsMsgCount, 0);
+ QVERIFY2(messageHandler.messages().isEmpty(), qPrintable(messageHandler.messageString()));
}
@@ -5851,14 +5831,11 @@ void tst_qqmlecmascript::noSpuriousWarningsAtShutdown()
QObject *o = component.create();
- transientErrorsMsgCount = 0;
- QtMessageHandler old = qInstallMessageHandler(transientErrorsMsgHandler);
+ QQmlTestMessageHandler messageHandler;
delete o;
- qInstallMessageHandler(old);
-
- QCOMPARE(transientErrorsMsgCount, 0);
+ QVERIFY2(messageHandler.messages().isEmpty(), qPrintable(messageHandler.messageString()));
}
}
@@ -6672,22 +6649,15 @@ void tst_qqmlecmascript::doubleEvaluate()
delete object;
}
-static QStringList messages;
-static void captureMsgHandler(QtMsgType, const QMessageLogContext &, const QString &msg)
-{
- messages.append(msg);
-}
-
void tst_qqmlecmascript::nonNotifyable()
{
QV4Compiler::enableV4(false);
QQmlComponent component(&engine, testFileUrl("nonNotifyable.qml"));
QV4Compiler::enableV4(true);
- QtMessageHandler old = qInstallMessageHandler(captureMsgHandler);
- messages.clear();
+ QQmlTestMessageHandler messageHandler;
+
QObject *object = component.create();
- qInstallMessageHandler(old);
QVERIFY(object != 0);
@@ -6698,9 +6668,9 @@ void tst_qqmlecmascript::nonNotifyable()
QLatin1String(object->metaObject()->className()) +
QLatin1String("::value");
- QCOMPARE(messages.length(), 2);
- QCOMPARE(messages.at(0), expected1);
- QCOMPARE(messages.at(1), expected2);
+ QCOMPARE(messageHandler.messages().length(), 2);
+ QCOMPARE(messageHandler.messages().at(0), expected1);
+ QCOMPARE(messageHandler.messages().at(1), expected2);
delete object;
}
@@ -7125,16 +7095,14 @@ void tst_qqmlecmascript::bindingSuppression()
EventProcessor processor;
engine.rootContext()->setContextProperty("pendingEvents", &processor);
- transientErrorsMsgCount = 0;
- QtMessageHandler old = qInstallMessageHandler(transientErrorsMsgHandler);
+ QQmlTestMessageHandler messageHandler;
QQmlComponent c(&engine, testFileUrl("bindingSuppression.qml"));
QObject *obj = c.create();
QVERIFY(obj != 0);
delete obj;
- qInstallMessageHandler(old);
- QCOMPARE(transientErrorsMsgCount, 0);
+ QVERIFY2(messageHandler.messages().isEmpty(), qPrintable(messageHandler.messageString()));
}
void tst_qqmlecmascript::signalEmitted()