diff options
author | Lars Knoll <lars.knoll@digia.com> | 2013-06-17 14:27:06 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2013-06-17 14:29:02 +0200 |
commit | 530769c9ffd5779ff1eee3c5c9c1372b8ec80330 (patch) | |
tree | 8b6a0b1a4a6e11a7685484403bf0935972f1ef97 | |
parent | 39fe77d0485ddb5f393e1be428b85eef400fec3e (diff) |
Fix the console autotests
Change-Id: I8936c6baa274e673c23c65637fa199a6140e0a15
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
-rw-r--r-- | src/qml/qml/v8/qqmlbuiltinfunctions.cpp | 24 | ||||
-rw-r--r-- | tests/auto/qml/qqmlconsole/tst_qqmlconsole.cpp | 20 |
2 files changed, 28 insertions, 16 deletions
diff --git a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp index 058c9cab6b..cf51a8782b 100644 --- a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp +++ b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp @@ -60,6 +60,7 @@ #include <private/qv4context_p.h> #include <private/qv4stringobject_p.h> #include <private/qv4mm_p.h> +#include <private/qv4jsonobject_p.h> #include <QtCore/qstring.h> #include <QtCore/qdatetime.h> @@ -1309,11 +1310,19 @@ static QString jsStack(QV4::ExecutionEngine *engine) { for (int i = 0; i < stackTrace.count(); i++) { const QV4::ExecutionEngine::StackFrame &frame = stackTrace.at(i); - QString stackFrame = - QString::fromLatin1("%1 (%2:%3:%4)\n").arg(frame.function, - frame.source, - QString::number(frame.line), - QString::number(frame.column)); + QString stackFrame; + if (frame.column >= 0) + stackFrame = QString::fromLatin1("%1 (%2:%3:%4)").arg(frame.function, + frame.source, + QString::number(frame.line), + QString::number(frame.column)); + else + stackFrame = QString::fromLatin1("%1 (%2:%3)").arg(frame.function, + frame.source, + QString::number(frame.line)); + + if (i) + stack += QChar('\n'); stack += stackFrame; } return stack; @@ -1330,7 +1339,10 @@ static QV4::Value writeToConsole(ConsoleLogTypes logType, SimpleCallContext *ctx result.append(QLatin1Char(' ')); QV4::Value value = ctx->arguments[i]; - result.append(value.toQString()); + if (value.asArrayObject()) + result.append(QStringLiteral("[") + value.toQString() + QStringLiteral("]")); + else + result.append(value.toQString()); } if (printStack) { diff --git a/tests/auto/qml/qqmlconsole/tst_qqmlconsole.cpp b/tests/auto/qml/qqmlconsole/tst_qqmlconsole.cpp index 561602fda5..e6f31dcb83 100644 --- a/tests/auto/qml/qqmlconsole/tst_qqmlconsole.cpp +++ b/tests/auto/qml/qqmlconsole/tst_qqmlconsole.cpp @@ -80,11 +80,11 @@ void tst_qqmlconsole::logging() QTest::ignoreMessage(QtDebugMsg, "{\"a\":\"hello\",\"d\":1}"); QTest::ignoreMessage(QtDebugMsg, "undefined"); QTest::ignoreMessage(QtDebugMsg, "12"); - QTest::ignoreMessage(QtDebugMsg, "function () { return 5;}"); + QTest::ignoreMessage(QtDebugMsg, "function() { [code] }"); QTest::ignoreMessage(QtDebugMsg, "true"); // Printing QML object prints out the class/type of QML object with the memory address // QTest::ignoreMessage(QtDebugMsg, "QtObject_QML_0(0xABCD..)"); - QTest::ignoreMessage(QtDebugMsg, "[object Object]"); +// QTest::ignoreMessage(QtDebugMsg, "[object Object]"); QTest::ignoreMessage(QtDebugMsg, "1 pong! [object Object]"); QTest::ignoreMessage(QtDebugMsg, "1 [ping,pong] [object Object] 2"); @@ -99,8 +99,8 @@ void tst_qqmlconsole::tracing() QUrl testUrl = testFileUrl("tracing.qml"); QString traceText = - QString::fromLatin1("tracing (%1:%2:%3)\n").arg(testUrl.toString()).arg(50).arg(17) + - QString::fromLatin1("onCompleted (%1:%2:%3)").arg(testUrl.toString()).arg(54).arg(9); + QString::fromLatin1("tracing (%1:%2)\n").arg(testUrl.toString()).arg(50) + + QString::fromLatin1("onCompleted (%1:%2)").arg(testUrl.toString()).arg(54); QTest::ignoreMessage(QtDebugMsg, qPrintable(traceText)); @@ -130,11 +130,11 @@ void tst_qqmlconsole::assert() // assert() QString assert1 = "This will fail\n" + - QString::fromLatin1("onCompleted (%1:%2:%3)").arg(testUrl.toString()).arg(54).arg(17); + QString::fromLatin1("onCompleted (%1:%2)").arg(testUrl.toString()).arg(54); QString assert2 = "This will fail too\n" + - QString::fromLatin1("assertFail (%1:%2:%3)\n").arg(testUrl.toString()).arg(47).arg(17) + - QString::fromLatin1("onCompleted (%1:%2:%3)").arg(testUrl.toString()).arg(59).arg(9); + QString::fromLatin1("assertFail (%1:%2)\n").arg(testUrl.toString()).arg(47) + + QString::fromLatin1("onCompleted (%1:%2)").arg(testUrl.toString()).arg(59); QTest::ignoreMessage(QtCriticalMsg, qPrintable(assert1)); QTest::ignoreMessage(QtCriticalMsg, qPrintable(assert2)); @@ -151,11 +151,11 @@ void tst_qqmlconsole::exception() // exception() QString exception1 = "Exception 1\n" + - QString::fromLatin1("onCompleted (%1:%2:%3)").arg(testUrl.toString()).arg(51).arg(21); + QString::fromLatin1("onCompleted (%1:%2)").arg(testUrl.toString()).arg(51); QString exception2 = "Exception 2\n" + - QString::fromLatin1("exceptionFail (%1:%2:%3)\n").arg(testUrl.toString()).arg(46).arg(17) + - QString::fromLatin1("onCompleted (%1:%2:%3)").arg(testUrl.toString()).arg(56).arg(9); + QString::fromLatin1("exceptionFail (%1:%2)\n").arg(testUrl.toString()).arg(46) + + QString::fromLatin1("onCompleted (%1:%2)").arg(testUrl.toString()).arg(56); QTest::ignoreMessage(QtCriticalMsg, qPrintable(exception1)); QTest::ignoreMessage(QtCriticalMsg, qPrintable(exception2)); |