diff options
| author | Ulf Hermann <ulf.hermann@qt.io> | 2022-11-15 10:18:37 +0100 |
|---|---|---|
| committer | Ulf Hermann <ulf.hermann@qt.io> | 2022-11-23 10:27:55 +0100 |
| commit | ed47bff4118f677e135f3b7c113b035ac991c5ca (patch) | |
| tree | 0709485d06f22c397a45e4e1aaf79378089d49d0 /tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp | |
| parent | bce216d5c086a5aa8f88d13933eeccebca316359 (diff) | |
QmlCompiler: Implement console logging methods
We provide semi-private functions in the AOT context for this. Since we
cannot know the complete run time type of the potential logging category
at compile time, we have to check any first argument that might be one
separately.
Fixes: QTBUG-107175
Change-Id: I46a8922b1c5c16d2b450b8728d650d31dfd867e3
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp')
| -rw-r--r-- | tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp b/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp index 7278ea70bb..4b4cc6042a 100644 --- a/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp +++ b/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp @@ -146,6 +146,7 @@ private slots: void signalIndexMismatch(); void callWithSpread(); void nullComparison(); + void consoleObject(); }; void tst_QmlCppCodegen::initTestCase() @@ -2820,6 +2821,44 @@ void tst_QmlCppCodegen::nullComparison() QCOMPARE(o->property("y").toInt(), 5); }; +void tst_QmlCppCodegen::consoleObject() +{ + QQmlEngine engine; + QQmlComponent c(&engine, QUrl(u"qrc:/qt/qml/TestTypes/consoleObject.qml"_s)); + QVERIFY2(c.isReady(), qPrintable(c.errorString())); + + QTest::ignoreMessage(QtDebugMsg, "b 4.55"); + QTest::ignoreMessage(QtDebugMsg, "b 4.55"); + QTest::ignoreMessage(QtInfoMsg, "b 4.55"); + QTest::ignoreMessage(QtWarningMsg, "b 4.55"); + QTest::ignoreMessage(QtCriticalMsg, "b 4.55"); + + // Unfortunately we cannot check the logging category with QTest::ignoreMessage + QTest::ignoreMessage(QtDebugMsg, "b 4.55"); + QTest::ignoreMessage(QtDebugMsg, "b 4.55"); + QTest::ignoreMessage(QtInfoMsg, "b 4.55"); + QTest::ignoreMessage(QtWarningMsg, "b 4.55"); + QTest::ignoreMessage(QtCriticalMsg, "b 4.55"); + + const QRegularExpression re(u"QQmlComponentAttached\\(0x[0-9a-f]+\\) b 4\\.55"_s); + QTest::ignoreMessage(QtDebugMsg, re); + QTest::ignoreMessage(QtDebugMsg, re); + QTest::ignoreMessage(QtInfoMsg, re); + QTest::ignoreMessage(QtWarningMsg, re); + QTest::ignoreMessage(QtCriticalMsg, re); + + QTest::ignoreMessage(QtDebugMsg, "a undefined b false null 7"); + QTest::ignoreMessage(QtDebugMsg, ""); + QTest::ignoreMessage(QtDebugMsg, "4"); + QTest::ignoreMessage(QtDebugMsg, ""); + + const QRegularExpression re2(u"QQmlComponentAttached\\(0x[0-9a-f]+\\)"_s); + QTest::ignoreMessage(QtDebugMsg, re2); + + QScopedPointer<QObject> o(c.create()); + QVERIFY(!o.isNull()); +} + QTEST_MAIN(tst_QmlCppCodegen) #include "tst_qmlcppcodegen.moc" |
