diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-01-04 12:48:06 +0100 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-01-04 12:48:06 +0100 |
commit | 5d150f63e1a188414e4951c4b6e4c7c474d9b4e6 (patch) | |
tree | d249fdfd8480b367ad238b62602f48254dceda11 /tests | |
parent | 63064c7ed7a23c1749ed7f58d55b680190dc01c4 (diff) | |
parent | ef92d6f8ef649fdaf50c123c6ca978b6db6892f6 (diff) |
Merge branch 'stable' into dev
Conflicts:
src/qml/qml/parser/qqmljskeywords_p.h
sync.profile
tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
Change-Id: I9bc6659e1bab924009167bec567354d40a77a8cb
Diffstat (limited to 'tests')
89 files changed, 408 insertions, 427 deletions
diff --git a/tests/auto/headersclean/headersclean.pro b/tests/auto/headersclean/headersclean.pro index e8942a7089..6d2f74a6bc 100644 --- a/tests/auto/headersclean/headersclean.pro +++ b/tests/auto/headersclean/headersclean.pro @@ -1,9 +1,4 @@ -QT = core testlib qml qml quick qmltest qmldevtools gui-private -HEADERSCLEAN_PRI = $${QT.core.sources}/../../tests/auto/other/headersclean/headersclean.pri -isEmpty(QT.core.sources)|!include($$HEADERSCLEAN_PRI) { - warning("headersclean.pri from QtCore sources not available. test disabled") - TEMPLATE=subdirs -} - +QT = qml quick qmltest qmldevtools +load(qt_headersclean) # shadowing problems in scenegraph, allow it for now *-g++*: QMAKE_CXXFLAGS -= -Wshadow diff --git a/tests/auto/headersclean/qt_headersclean_headers.h b/tests/auto/headersclean/qt_headersclean_headers.h deleted file mode 100644 index 25c030ca26..0000000000 --- a/tests/auto/headersclean/qt_headersclean_headers.h +++ /dev/null @@ -1,50 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QT_HEADERSCLEAN_HEADERS -#define QT_HEADERSCLEAN_HEADERS - -#include <QtQml/QtQml> -#include <QtQmlDevTools/QtQmlDevTools> -#include <QtQuick/QtQuick> -#include <QtQuickTest/QtQuickTest> - -#endif diff --git a/tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.cpp b/tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.cpp index 5848b42028..92f48f398f 100644 --- a/tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.cpp +++ b/tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.cpp @@ -85,7 +85,7 @@ private slots: void reloadQmlWindow(); }; -void tst_QQmlInspector::startQmlsceneProcess(const char *qmlFile) +void tst_QQmlInspector::startQmlsceneProcess(const char * /* qmlFile */) { const QString argument = "-qmljsdebugger=port:" STR_PORT ",block"; diff --git a/tests/auto/qml/qjsvalue/tst_qjsvalue.h b/tests/auto/qml/qjsvalue/tst_qjsvalue.h index fa0aad7a51..ab9a5ed771 100644 --- a/tests/auto/qml/qjsvalue/tst_qjsvalue.h +++ b/tests/auto/qml/qjsvalue/tst_qjsvalue.h @@ -49,7 +49,6 @@ #include <QtTest/QtTest> Q_DECLARE_METATYPE(QVariant) -Q_DECLARE_METATYPE(QJSValue) class tst_QJSValue : public QObject { diff --git a/tests/auto/qml/qjsvalueiterator/tst_qjsvalueiterator.cpp b/tests/auto/qml/qjsvalueiterator/tst_qjsvalueiterator.cpp index 7648836b54..987f060b20 100644 --- a/tests/auto/qml/qjsvalueiterator/tst_qjsvalueiterator.cpp +++ b/tests/auto/qml/qjsvalueiterator/tst_qjsvalueiterator.cpp @@ -46,8 +46,6 @@ #include <QJSValue> #include <QJSValueIterator> -Q_DECLARE_METATYPE(QJSValue); - class tst_QJSValueIterator : public QObject { Q_OBJECT diff --git a/tests/auto/qml/qqmlbundle/data/imports/bundletest/plugin1.pro b/tests/auto/qml/qqmlbundle/data/imports/bundletest/plugin1.pro index 2ffa05a007..934bb2d591 100644 --- a/tests/auto/qml/qqmlbundle/data/imports/bundletest/plugin1.pro +++ b/tests/auto/qml/qqmlbundle/data/imports/bundletest/plugin1.pro @@ -3,4 +3,5 @@ CONFIG += plugin SOURCES += plugin.cpp QT = core qml +DESTDIR = ./ DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 diff --git a/tests/auto/qml/qqmlbundle/tst_qqmlbundle.cpp b/tests/auto/qml/qqmlbundle/tst_qqmlbundle.cpp index 70cb319938..168e685699 100644 --- a/tests/auto/qml/qqmlbundle/tst_qqmlbundle.cpp +++ b/tests/auto/qml/qqmlbundle/tst_qqmlbundle.cpp @@ -201,7 +201,7 @@ void tst_qqmlbundle::import() engine.addImportPath(testFile("imports")); QQmlComponent component(&engine, testFileUrl("import.qml")); - QVERIFY(component.isReady()); + QVERIFY2(component.isReady(), QQmlDataTest::msgComponentError(component, &engine)); QObject *o = component.create(); QVERIFY(o != 0); diff --git a/tests/auto/qml/qqmlcomponent/tst_qqmlcomponent.cpp b/tests/auto/qml/qqmlcomponent/tst_qqmlcomponent.cpp index d3aba444af..748d4d71e8 100644 --- a/tests/auto/qml/qqmlcomponent/tst_qqmlcomponent.cpp +++ b/tests/auto/qml/qqmlcomponent/tst_qqmlcomponent.cpp @@ -226,20 +226,13 @@ void tst_qqmlcomponent::qmlCreateObjectWithProperties() delete testBindingThisObj; } -static QStringList warnings; -static void msgHandler(QtMsgType, const QMessageLogContext &, const QString &warning) -{ - warnings << warning; -} - void tst_qqmlcomponent::qmlCreateParentReference() { QQmlEngine engine; QCOMPARE(engine.outputWarningsToStandardError(), true); - warnings.clear(); - QtMessageHandler old = qInstallMessageHandler(msgHandler); + QQmlTestMessageHandler messageHandler; QQmlComponent component(&engine, testFileUrl("createParentReference.qml")); QVERIFY2(component.errorString().isEmpty(), component.errorString().toUtf8()); @@ -249,12 +242,10 @@ void tst_qqmlcomponent::qmlCreateParentReference() QVERIFY(QMetaObject::invokeMethod(object, "createChild")); delete object; - qInstallMessageHandler(old); - engine.setOutputWarningsToStandardError(false); QCOMPARE(engine.outputWarningsToStandardError(), false); - QCOMPARE(warnings.count(), 0); + QVERIFY2(messageHandler.messages().isEmpty(), qPrintable(messageHandler.messageString())); } void tst_qqmlcomponent::async() @@ -398,13 +389,14 @@ void tst_qqmlcomponent::onDestructionCount() // Warning should not be emitted any further QCOMPARE(engine.outputWarningsToStandardError(), true); - warnings.clear(); - QtMessageHandler old = qInstallMessageHandler(msgHandler); - - QCoreApplication::sendPostedEvents(0, QEvent::DeferredDelete); - QCoreApplication::processEvents(); + QStringList warnings; + { + QQmlTestMessageHandler messageHandler; - qInstallMessageHandler(old); + QCoreApplication::sendPostedEvents(0, QEvent::DeferredDelete); + QCoreApplication::processEvents(); + warnings = messageHandler.messages(); + } engine.setOutputWarningsToStandardError(false); QCOMPARE(engine.outputWarningsToStandardError(), false); diff --git a/tests/auto/qml/qqmlconnections/tst_qqmlconnections.cpp b/tests/auto/qml/qqmlconnections/tst_qqmlconnections.cpp index b9e31d2216..a7ef405aa3 100644 --- a/tests/auto/qml/qqmlconnections/tst_qqmlconnections.cpp +++ b/tests/auto/qml/qqmlconnections/tst_qqmlconnections.cpp @@ -231,7 +231,7 @@ class TestObject : public QObject Q_PROPERTY(bool ran READ ran WRITE setRan) public: - TestObject(QObject *parent = 0) : m_ran(false) {} + TestObject(QObject *parent = 0) : QObject(parent), m_ran(false) {} ~TestObject() {} bool ran() const { return m_ran; } diff --git a/tests/auto/qml/qqmlecmascript/testtypes.h b/tests/auto/qml/qqmlecmascript/testtypes.h index aa00115f5e..e0f5317945 100644 --- a/tests/auto/qml/qqmlecmascript/testtypes.h +++ b/tests/auto/qml/qqmlecmascript/testtypes.h @@ -285,6 +285,7 @@ private: int m_intProperty; Qt::MouseButtons m_buttons; }; +Q_DECLARE_METATYPE(QQmlListProperty<MyQmlObject>) QML_DECLARE_TYPEINFO(MyQmlObject, QML_HAS_ATTACHED_PROPERTIES) @@ -696,7 +697,6 @@ public: } }; -Q_DECLARE_METATYPE(QJSValue); class MyInvokableBaseObject : public QObject { Q_OBJECT diff --git a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp index 852c0ef4b5..23454ecd6d 100644 --- a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp +++ b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp @@ -290,6 +290,7 @@ private slots: private: static void propertyVarWeakRefCallback(v8::Persistent<v8::Value> object, void* parameter); + static void verifyContextLifetime(QQmlContextData *ctxt); QQmlEngine engine; }; @@ -1924,27 +1925,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; } @@ -1953,15 +1945,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; } @@ -1974,13 +1963,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() @@ -2855,7 +2842,6 @@ void tst_qqmlecmascript::listToVariant() } // QTBUG-16316 -Q_DECLARE_METATYPE(QQmlListProperty<MyQmlObject>) void tst_qqmlecmascript::listAssignment() { QQmlComponent component(&engine, testFileUrl("listAssignment.qml")); @@ -3785,6 +3771,42 @@ void tst_qqmlecmascript::singletonTypeResolution() delete object; } +void tst_qqmlecmascript::verifyContextLifetime(QQmlContextData *ctxt) { + QQmlContextData *childCtxt = ctxt->childContexts; + + if (!ctxt->importedScripts.isEmpty()) { + QV8Engine *engine = QV8Engine::get(ctxt->engine); + foreach (v8::Persistent<v8::Object> qmlglobal, ctxt->importedScripts) { + QQmlContextData *scriptContext, *newContext; + + if (qmlglobal.IsEmpty()) + continue; + + scriptContext = engine->contextWrapper()->context(qmlglobal); + + { + v8::HandleScope handle_scope; + v8::Persistent<v8::Context> context = v8::Context::New(); + v8::Context::Scope context_scope(context); + v8::Local<v8::Object> temporaryScope = engine->qmlScope(scriptContext, NULL); + Q_UNUSED(temporaryScope) + + context.Dispose(); + } + + QV8Engine::gc(); + newContext = engine->contextWrapper()->context(qmlglobal); + QVERIFY(scriptContext == newContext); + } + } + + while (childCtxt) { + verifyContextLifetime(childCtxt); + + childCtxt = childCtxt->nextChild; + } +} + void tst_qqmlecmascript::importScripts_data() { QTest::addColumn<QUrl>("testfile"); @@ -4016,6 +4038,10 @@ void tst_qqmlecmascript::importScripts() QVERIFY(object == 0); } else { QVERIFY(object != 0); + + QQmlContextData *ctxt = QQmlContextData::get(engine.rootContext()); + tst_qqmlecmascript::verifyContextLifetime(ctxt); + for (int i = 0; i < propertyNames.size(); ++i) QCOMPARE(object->property(propertyNames.at(i).toLatin1().constData()), propertyValues.at(i)); delete object; @@ -5756,14 +5782,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; } @@ -5797,14 +5820,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())); } @@ -5813,14 +5833,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())); } } @@ -6634,22 +6651,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); @@ -6660,9 +6670,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; } @@ -7087,16 +7097,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() diff --git a/tests/auto/qml/qqmlengine/tst_qqmlengine.cpp b/tests/auto/qml/qqmlengine/tst_qqmlengine.cpp index 128294bbcb..2a78831ba1 100644 --- a/tests/auto/qml/qqmlengine/tst_qqmlengine.cpp +++ b/tests/auto/qml/qqmlengine/tst_qqmlengine.cpp @@ -417,12 +417,6 @@ void tst_qqmlengine::failedCompilation_data() QTest::newRow("Invalid content") << "failedCompilation.1.qml"; } -static QStringList warnings; -static void msgHandler(QtMsgType, const QMessageLogContext &, const QString &warning) -{ - warnings << warning; -} - void tst_qqmlengine::outputWarningsToStandardError() { QQmlEngine engine; @@ -434,35 +428,26 @@ void tst_qqmlengine::outputWarningsToStandardError() QVERIFY(c.isReady() == true); - warnings.clear(); - QtMessageHandler old = qInstallMessageHandler(msgHandler); + QQmlTestMessageHandler messageHandler; QObject *o = c.create(); - qInstallMessageHandler(old); - QVERIFY(o != 0); delete o; - QCOMPARE(warnings.count(), 1); - QCOMPARE(warnings.at(0), QLatin1String("<Unknown File>: Unable to assign [undefined] to int")); - warnings.clear(); - + QCOMPARE(messageHandler.messages().count(), 1); + QCOMPARE(messageHandler.messages().at(0), QLatin1String("<Unknown File>: Unable to assign [undefined] to int")); + messageHandler.clear(); engine.setOutputWarningsToStandardError(false); QCOMPARE(engine.outputWarningsToStandardError(), false); - - old = qInstallMessageHandler(msgHandler); - o = c.create(); - qInstallMessageHandler(old); - QVERIFY(o != 0); delete o; - QCOMPARE(warnings.count(), 0); + QVERIFY2(messageHandler.messages().isEmpty(), qPrintable(messageHandler.messageString())); } void tst_qqmlengine::objectOwnership() diff --git a/tests/auto/qml/qqmlinstruction/qqmlinstruction.pro b/tests/auto/qml/qqmlinstruction/qqmlinstruction.pro index 1eb4a203a3..73f29ab973 100644 --- a/tests/auto/qml/qqmlinstruction/qqmlinstruction.pro +++ b/tests/auto/qml/qqmlinstruction/qqmlinstruction.pro @@ -5,5 +5,7 @@ macx:CONFIG -= app_bundle CONFIG += parallel_test +include (../../shared/util.pri) + QT += core-private gui-private v8-private qml-private testlib DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 diff --git a/tests/auto/qml/qqmlinstruction/tst_qqmlinstruction.cpp b/tests/auto/qml/qqmlinstruction/tst_qqmlinstruction.cpp index 7d27751e77..e25c38d9cc 100644 --- a/tests/auto/qml/qqmlinstruction/tst_qqmlinstruction.cpp +++ b/tests/auto/qml/qqmlinstruction/tst_qqmlinstruction.cpp @@ -40,6 +40,7 @@ ****************************************************************************/ #include <qtest.h> +#include "../../shared/util.h" #include <private/qqmlcompiler_p.h> #include <QVector3D> @@ -65,12 +66,6 @@ private slots: void time(); }; -static QStringList messages; -static void msgHandler(QtMsgType, const QMessageLogContext &, const QString &msg) -{ - messages << msg; -} - void tst_qqmlinstruction::dump() { QQmlEngine engine; @@ -128,14 +123,14 @@ void tst_qqmlinstruction::dump() { QQmlCompiledData::Instruction::StoreFloat i; i.propertyIndex = 3; - i.value = 11.3; + i.value = 11.3f; data->addInstruction(i); } { QQmlCompiledData::Instruction::StoreDouble i; i.propertyIndex = 4; - i.value = 14.8; + i.value = 14.8f; data->addInstruction(i); } @@ -564,15 +559,14 @@ void tst_qqmlinstruction::dump() << "57\t\tSTORE_VAR_BOOL\t\t83\ttrue" << "-------------------------------------------------------------------------------"; - messages = QStringList(); - QtMessageHandler old = qInstallMessageHandler(msgHandler); + QQmlTestMessageHandler messageHandler; data->dumpInstructions(); - qInstallMessageHandler(old); - QCOMPARE(messages.count(), expect.count()); - for (int ii = 0; ii < messages.count(); ++ii) { - QCOMPARE(messages.at(ii), expect.at(ii)); + const int messageCount = messageHandler.messages().count(); + QCOMPARE(messageCount, expect.count()); + for (int ii = 0; ii < messageCount; ++ii) { + QCOMPARE(messageHandler.messages().at(ii), expect.at(ii)); } data->release(); @@ -676,8 +670,8 @@ void tst_qqmlinstruction::vector3d() QCOMPARE(Q_ALIGNOF(QQmlInstruction::instr_storeVector3D::QVector3D), Q_ALIGNOF(QVector3D)); QQmlInstruction i; - i.storeVector3D.vector.xp = 8.2; - i.storeVector3D.vector.yp = 99.3; + i.storeVector3D.vector.xp = 8.2f; + i.storeVector3D.vector.yp = 99.3f; i.storeVector3D.vector.zp = 12.0; const QVector3D &vector = (const QVector3D &)(i.storeVector3D.vector); @@ -692,10 +686,10 @@ void tst_qqmlinstruction::vector4d() QCOMPARE(Q_ALIGNOF(QQmlInstruction::instr_storeVector4D::QVector4D), Q_ALIGNOF(QVector4D)); QQmlInstruction i; - i.storeVector4D.vector.xp = 8.2; - i.storeVector4D.vector.yp = 99.3; + i.storeVector4D.vector.xp = 8.2f; + i.storeVector4D.vector.yp = 99.3f; i.storeVector4D.vector.zp = 12.0; - i.storeVector4D.vector.wp = 121.1; + i.storeVector4D.vector.wp = 121.1f; const QVector4D &vector = (const QVector4D &)(i.storeVector4D.vector); QCOMPARE(vector.x(), (qreal)(float)8.2); diff --git a/tests/auto/qml/qqmllanguage/data/importJs.1.qml b/tests/auto/qml/qqmllanguage/data/importJs.1.qml index eaba98ecd2..89344c02cc 100644 --- a/tests/auto/qml/qqmllanguage/data/importJs.1.qml +++ b/tests/auto/qml/qqmllanguage/data/importJs.1.qml @@ -1,4 +1,4 @@ -import com.nokia.PureJsModule 1.0 +import org.qtproject.PureJsModule 1.0 import QtQuick 2.0 Item { diff --git a/tests/auto/qml/qqmllanguage/data/importJs.10.qml b/tests/auto/qml/qqmllanguage/data/importJs.10.qml index 578ca47ea5..c0bb730ac7 100644 --- a/tests/auto/qml/qqmllanguage/data/importJs.10.qml +++ b/tests/auto/qml/qqmllanguage/data/importJs.10.qml @@ -1,5 +1,5 @@ -import com.nokia.PureJsModule 1.0 as PJM -import com.nokia.PureJsModule 1.0 as AnotherName +import org.qtproject.PureJsModule 1.0 as PJM +import org.qtproject.PureJsModule 1.0 as AnotherName import QtQuick 2.0 Item { diff --git a/tests/auto/qml/qqmllanguage/data/importJs.2.qml b/tests/auto/qml/qqmllanguage/data/importJs.2.qml index dd3d65c5dd..5a0659fb26 100644 --- a/tests/auto/qml/qqmllanguage/data/importJs.2.qml +++ b/tests/auto/qml/qqmllanguage/data/importJs.2.qml @@ -1,4 +1,4 @@ -import com.nokia.VersionedOnlyJsModule 9.0 +import org.qtproject.VersionedOnlyJsModule 9.0 import QtQuick 2.0 Item { diff --git a/tests/auto/qml/qqmllanguage/data/importJs.3.qml b/tests/auto/qml/qqmllanguage/data/importJs.3.qml index f59d445a56..e241d610ae 100644 --- a/tests/auto/qml/qqmllanguage/data/importJs.3.qml +++ b/tests/auto/qml/qqmllanguage/data/importJs.3.qml @@ -1,4 +1,4 @@ -import com.nokia.PureJsModule 1.0 +import org.qtproject.PureJsModule 1.0 import QtQuick 2.0 Item { diff --git a/tests/auto/qml/qqmllanguage/data/importJs.4.qml b/tests/auto/qml/qqmllanguage/data/importJs.4.qml index e7b74bac0a..d323cfab3b 100644 --- a/tests/auto/qml/qqmllanguage/data/importJs.4.qml +++ b/tests/auto/qml/qqmllanguage/data/importJs.4.qml @@ -1,4 +1,4 @@ -import com.nokia.PureJsModule 1.6 +import org.qtproject.PureJsModule 1.6 import QtQuick 2.0 Item { diff --git a/tests/auto/qml/qqmllanguage/data/importJs.5.errors.txt b/tests/auto/qml/qqmllanguage/data/importJs.5.errors.txt index 10dbc80297..7f8648bace 100644 --- a/tests/auto/qml/qqmllanguage/data/importJs.5.errors.txt +++ b/tests/auto/qml/qqmllanguage/data/importJs.5.errors.txt @@ -1 +1 @@ -1:1:module "com.nokia.VersionedOnlyJsModule" is not installed +1:1:module "org.qtproject.VersionedOnlyJsModule" is not installed diff --git a/tests/auto/qml/qqmllanguage/data/importJs.5.qml b/tests/auto/qml/qqmllanguage/data/importJs.5.qml index a9ec20c72b..c0a77dada2 100644 --- a/tests/auto/qml/qqmllanguage/data/importJs.5.qml +++ b/tests/auto/qml/qqmllanguage/data/importJs.5.qml @@ -1,4 +1,4 @@ -import com.nokia.VersionedOnlyJsModule 1.0 +import org.qtproject.VersionedOnlyJsModule 1.0 import QtQuick 2.0 Item { diff --git a/tests/auto/qml/qqmllanguage/data/importJs.6.errors.txt b/tests/auto/qml/qqmllanguage/data/importJs.6.errors.txt index 41c99702a2..53b7ade8bf 100644 --- a/tests/auto/qml/qqmllanguage/data/importJs.6.errors.txt +++ b/tests/auto/qml/qqmllanguage/data/importJs.6.errors.txt @@ -1 +1 @@ -2:1:"com.nokia.VersionedOnlyJsModule" is ambiguous. +2:1:"org.qtproject.VersionedOnlyJsModule" is ambiguous. diff --git a/tests/auto/qml/qqmllanguage/data/importJs.6.qml b/tests/auto/qml/qqmllanguage/data/importJs.6.qml index 6c4eb89551..e5f2e13f10 100644 --- a/tests/auto/qml/qqmllanguage/data/importJs.6.qml +++ b/tests/auto/qml/qqmllanguage/data/importJs.6.qml @@ -1,5 +1,5 @@ -import com.nokia.VersionedOnlyJsModule 9.0 -import com.nokia.VersionedOnlyJsModule 9.0 +import org.qtproject.VersionedOnlyJsModule 9.0 +import org.qtproject.VersionedOnlyJsModule 9.0 import QtQuick 2.0 Item { diff --git a/tests/auto/qml/qqmllanguage/data/importJs.7.errors.txt b/tests/auto/qml/qqmllanguage/data/importJs.7.errors.txt index 56bc4c548f..8a5f3c6721 100644 --- a/tests/auto/qml/qqmllanguage/data/importJs.7.errors.txt +++ b/tests/auto/qml/qqmllanguage/data/importJs.7.errors.txt @@ -1 +1 @@ -2:1:"com.nokia.PureJsModule" is ambiguous. +2:1:"org.qtproject.PureJsModule" is ambiguous. diff --git a/tests/auto/qml/qqmllanguage/data/importJs.7.qml b/tests/auto/qml/qqmllanguage/data/importJs.7.qml index 5523a158bd..7b3501ad8f 100644 --- a/tests/auto/qml/qqmllanguage/data/importJs.7.qml +++ b/tests/auto/qml/qqmllanguage/data/importJs.7.qml @@ -1,5 +1,5 @@ -import com.nokia.PureJsModule 1.0 -import com.nokia.PureJsModule 1.6 +import org.qtproject.PureJsModule 1.0 +import org.qtproject.PureJsModule 1.6 import QtQuick 2.0 Item { diff --git a/tests/auto/qml/qqmllanguage/data/importJs.8.qml b/tests/auto/qml/qqmllanguage/data/importJs.8.qml index 4ddedc31a8..0d5ad052e7 100644 --- a/tests/auto/qml/qqmllanguage/data/importJs.8.qml +++ b/tests/auto/qml/qqmllanguage/data/importJs.8.qml @@ -1,4 +1,4 @@ -import com.nokia.PureJsModule 1.5 as PJM +import org.qtproject.PureJsModule 1.5 as PJM import QtQuick 2.0 Item { diff --git a/tests/auto/qml/qqmllanguage/data/importJs.9.qml b/tests/auto/qml/qqmllanguage/data/importJs.9.qml index 351164ba41..9b6dc1e073 100644 --- a/tests/auto/qml/qqmllanguage/data/importJs.9.qml +++ b/tests/auto/qml/qqmllanguage/data/importJs.9.qml @@ -1,5 +1,5 @@ -import com.nokia.PureJsModule 1.5 as PJM_1_5 -import com.nokia.PureJsModule 1.6 as PJM_1_6 +import org.qtproject.PureJsModule 1.5 as PJM_1_5 +import org.qtproject.PureJsModule 1.6 as PJM_1_6 import QtQuick 2.0 Item { diff --git a/tests/auto/qml/qqmllanguage/data/importVersionMissingInstalled.errors.txt b/tests/auto/qml/qqmllanguage/data/importVersionMissingInstalled.errors.txt index 89e58ee764..59b0b87477 100644 --- a/tests/auto/qml/qqmllanguage/data/importVersionMissingInstalled.errors.txt +++ b/tests/auto/qml/qqmllanguage/data/importVersionMissingInstalled.errors.txt @@ -1 +1 @@ -1:35:Library import requires a version +1:39:Library import requires a version diff --git a/tests/auto/qml/qqmllanguage/data/importVersionMissingInstalled.qml b/tests/auto/qml/qqmllanguage/data/importVersionMissingInstalled.qml index 97ec22280f..6ad2a812e9 100644 --- a/tests/auto/qml/qqmllanguage/data/importVersionMissingInstalled.qml +++ b/tests/auto/qml/qqmllanguage/data/importVersionMissingInstalled.qml @@ -1,3 +1,3 @@ -import com.nokia.installedtest as T +import org.qtproject.installedtest as T T.InstalledTest {} diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/PureJsModule.1.6/FirstAPI.1.6.js b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/PureJsModule.1.6/FirstAPI.1.6.js index c7b3c8b6ca..c7b3c8b6ca 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/PureJsModule.1.6/FirstAPI.1.6.js +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/PureJsModule.1.6/FirstAPI.1.6.js diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/PureJsModule.1.6/FirstAPI.js b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/PureJsModule.1.6/FirstAPI.js index b90033eeb4..b90033eeb4 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/PureJsModule.1.6/FirstAPI.js +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/PureJsModule.1.6/FirstAPI.js diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/PureJsModule.1.6/SecondAPI.js b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/PureJsModule.1.6/SecondAPI.js index b802477cb6..b802477cb6 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/PureJsModule.1.6/SecondAPI.js +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/PureJsModule.1.6/SecondAPI.js diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/PureJsModule.1.6/qmldir b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/PureJsModule.1.6/qmldir index 083afb051c..083afb051c 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/PureJsModule.1.6/qmldir +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/PureJsModule.1.6/qmldir diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/PureJsModule/FirstAPI.js b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/PureJsModule/FirstAPI.js index b90033eeb4..b90033eeb4 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/PureJsModule/FirstAPI.js +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/PureJsModule/FirstAPI.js diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/PureJsModule/SecondAPI.js b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/PureJsModule/SecondAPI.js index b802477cb6..b802477cb6 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/PureJsModule/SecondAPI.js +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/PureJsModule/SecondAPI.js diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/PureJsModule/qmldir b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/PureJsModule/qmldir index 5c3acebd39..5c3acebd39 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/PureJsModule/qmldir +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/PureJsModule/qmldir diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/VersionedOnlyJsModule.9.0/SomeAPI.js b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/VersionedOnlyJsModule.9.0/SomeAPI.js index efac613fc2..efac613fc2 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/VersionedOnlyJsModule.9.0/SomeAPI.js +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/VersionedOnlyJsModule.9.0/SomeAPI.js diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/VersionedOnlyJsModule.9.0/qmldir b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/VersionedOnlyJsModule.9.0/qmldir index 5c1b182028..5c1b182028 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/VersionedOnlyJsModule.9.0/qmldir +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/VersionedOnlyJsModule.9.0/qmldir diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest/InstalledTest.qml b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest/InstalledTest.qml index 56daa9c09a..56daa9c09a 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest/InstalledTest.qml +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest/InstalledTest.qml diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest/InstalledTest2.qml b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest/InstalledTest2.qml index 59df88216e..59df88216e 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest/InstalledTest2.qml +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest/InstalledTest2.qml diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest/LocalLast.qml b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest/LocalLast.qml index 26a5d6bba9..26a5d6bba9 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest/LocalLast.qml +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest/LocalLast.qml diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest/PrivateType.qml b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest/PrivateType.qml index ed1b09e419..ed1b09e419 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest/PrivateType.qml +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest/PrivateType.qml diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest/qmldir b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest/qmldir index d15720a154..d15720a154 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest/qmldir +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest/qmldir diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest0/InstalledTest.qml b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest0/InstalledTest.qml index 56daa9c09a..56daa9c09a 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest0/InstalledTest.qml +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest0/InstalledTest.qml diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest0/InstalledTest2.qml b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest0/InstalledTest2.qml index 59df88216e..59df88216e 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest0/InstalledTest2.qml +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest0/InstalledTest2.qml diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest0/qmldir b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest0/qmldir index b301226099..b301226099 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest0/qmldir +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest0/qmldir diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest1/Test1.qml b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest1/Test1.qml index 617bdaaf67..617bdaaf67 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest1/Test1.qml +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest1/Test1.qml diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest1/Test2.qml b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest1/Test2.qml index 617bdaaf67..617bdaaf67 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest1/Test2.qml +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest1/Test2.qml diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest1/qmldir b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest1/qmldir index 90ad9fdb19..90ad9fdb19 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest1/qmldir +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest1/qmldir diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest2/qmldir b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest2/qmldir index c492dec4d7..c492dec4d7 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest2/qmldir +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest2/qmldir diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest2/test1.js b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest2/test1.js index 6a53b53b02..6a53b53b02 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest2/test1.js +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest2/test1.js diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest2/test2.js b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest2/test2.js index 34d5cdda65..34d5cdda65 100644 --- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest2/test2.js +++ b/tests/auto/qml/qqmllanguage/data/lib/org/qtproject/installedtest2/test2.js diff --git a/tests/auto/qml/qqmllanguage/testtypes.h b/tests/auto/qml/qqmllanguage/testtypes.h index 1f9a8492d9..e83e9e11ac 100644 --- a/tests/auto/qml/qqmllanguage/testtypes.h +++ b/tests/auto/qml/qqmllanguage/testtypes.h @@ -66,8 +66,6 @@ public: int id; }; -Q_DECLARE_METATYPE(QJSValue) - QT_BEGIN_NAMESPACE #define MyInterface_iid "org.qt-project.Qt.Test.MyInterface" Q_DECLARE_INTERFACE(MyInterface, MyInterface_iid); @@ -941,7 +939,7 @@ class MyUncreateableBaseClass : public QObject Q_PROPERTY(bool prop2 READ prop2 WRITE setprop2 REVISION 1) Q_PROPERTY(bool prop3 READ prop3 WRITE setprop3 REVISION 1) public: - explicit MyUncreateableBaseClass(bool arg, QObject *parent = 0) + explicit MyUncreateableBaseClass(bool /* arg */, QObject *parent = 0) : QObject(parent), _prop1(false), _prop2(false), _prop3(false) { } diff --git a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp index 70f8f484e0..1c7a0876f6 100644 --- a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp +++ b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp @@ -596,8 +596,8 @@ void tst_qqmllanguage::assignBasicTypes() QCOMPARE(object->rectFProperty(), QRectF(1000.1, -10.9, 400, 90.99)); QCOMPARE(object->boolProperty(), true); QCOMPARE(object->variantProperty(), QVariant("Hello World!")); - QCOMPARE(object->vectorProperty(), QVector3D(10, 1, 2.2)); - QCOMPARE(object->vector4Property(), QVector4D(10, 1, 2.2, 2.3)); + QCOMPARE(object->vectorProperty(), QVector3D(10, 1, 2.2f)); + QCOMPARE(object->vector4Property(), QVector4D(10, 1, 2.2f, 2.3f)); QUrl encoded; encoded.setEncodedUrl("main.qml?with%3cencoded%3edata", QUrl::TolerantMode); QCOMPARE(object->urlProperty(), component.url().resolved(encoded)); @@ -1977,101 +1977,101 @@ void tst_qqmllanguage::importsBuiltin_data() << "" << "Test is not a type"; QTest::newRow("not in version 0.0") - << "import com.nokia.Test 0.0\n" + << "import org.qtproject.Test 0.0\n" "Test {}" << "" << "Test is not a type"; QTest::newRow("version not installed") - << "import com.nokia.Test 99.0\n" + << "import org.qtproject.Test 99.0\n" "Test {}" << "" - << "module \"com.nokia.Test\" version 99.0 is not installed"; + << "module \"org.qtproject.Test\" version 99.0 is not installed"; QTest::newRow("in version 0.0") - << "import com.nokia.Test 0.0\n" + << "import org.qtproject.Test 0.0\n" "TestTP {}" << "TestType" << ""; QTest::newRow("qualified in version 0.0") - << "import com.nokia.Test 0.0 as T\n" + << "import org.qtproject.Test 0.0 as T\n" "T.TestTP {}" << "TestType" << ""; QTest::newRow("in version 1.0") - << "import com.nokia.Test 1.0\n" + << "import org.qtproject.Test 1.0\n" "Test {}" << "TestType" << ""; QTest::newRow("qualified wrong") - << "import com.nokia.Test 1.0 as T\n" // QT-610 + << "import org.qtproject.Test 1.0 as T\n" // QT-610 "Test {}" << "" << "Test is not a type"; QTest::newRow("qualified right") - << "import com.nokia.Test 1.0 as T\n" + << "import org.qtproject.Test 1.0 as T\n" "T.Test {}" << "TestType" << ""; QTest::newRow("qualified right but not in version 0.0") - << "import com.nokia.Test 0.0 as T\n" + << "import org.qtproject.Test 0.0 as T\n" "T.Test {}" << "" << "T.Test is not a type"; QTest::newRow("in version 1.1") - << "import com.nokia.Test 1.1\n" + << "import org.qtproject.Test 1.1\n" "Test {}" << "TestType" << ""; QTest::newRow("in version 1.3") - << "import com.nokia.Test 1.3\n" + << "import org.qtproject.Test 1.3\n" "Test {}" << "TestType" << ""; QTest::newRow("in version 1.5") - << "import com.nokia.Test 1.5\n" + << "import org.qtproject.Test 1.5\n" "Test {}" << "TestType" << ""; QTest::newRow("changed in version 1.8") - << "import com.nokia.Test 1.8\n" + << "import org.qtproject.Test 1.8\n" "Test {}" << "TestType2" << ""; QTest::newRow("in version 1.12") - << "import com.nokia.Test 1.12\n" + << "import org.qtproject.Test 1.12\n" "Test {}" << "TestType2" << ""; QTest::newRow("old in version 1.9") - << "import com.nokia.Test 1.9\n" + << "import org.qtproject.Test 1.9\n" "OldTest {}" << "TestType" << ""; QTest::newRow("old in version 1.11") - << "import com.nokia.Test 1.11\n" + << "import org.qtproject.Test 1.11\n" "OldTest {}" << "TestType" << ""; QTest::newRow("multiversion 1") - << "import com.nokia.Test 1.11\n" - "import com.nokia.Test 1.12\n" + << "import org.qtproject.Test 1.11\n" + "import org.qtproject.Test 1.12\n" "Test {}" << (!qmlCheckTypes()?"TestType2":"") - << (!qmlCheckTypes()?"":"Test is ambiguous. Found in com/nokia/Test/ in version 1.12 and 1.11"); + << (!qmlCheckTypes()?"":"Test is ambiguous. Found in org/qtproject/Test/ in version 1.12 and 1.11"); QTest::newRow("multiversion 2") - << "import com.nokia.Test 1.11\n" - "import com.nokia.Test 1.12\n" + << "import org.qtproject.Test 1.11\n" + "import org.qtproject.Test 1.12\n" "OldTest {}" << (!qmlCheckTypes()?"TestType":"") - << (!qmlCheckTypes()?"":"OldTest is ambiguous. Found in com/nokia/Test/ in version 1.12 and 1.11"); + << (!qmlCheckTypes()?"":"OldTest is ambiguous. Found in org/qtproject/Test/ in version 1.12 and 1.11"); QTest::newRow("qualified multiversion 3") - << "import com.nokia.Test 1.0 as T0\n" - "import com.nokia.Test 1.8 as T8\n" + << "import org.qtproject.Test 1.0 as T0\n" + "import org.qtproject.Test 1.8 as T8\n" "T0.Test {}" << "TestType" << ""; QTest::newRow("qualified multiversion 4") - << "import com.nokia.Test 1.0 as T0\n" - "import com.nokia.Test 1.8 as T8\n" + << "import org.qtproject.Test 1.0 as T0\n" + "import org.qtproject.Test 1.8 as T8\n" "T8.Test {}" << "TestType2" << ""; @@ -2128,10 +2128,10 @@ void tst_qqmllanguage::importsLocal_data() << "Test is not a type"; QTest::newRow("library precedence over local import") << "import \"subdir\"\n" - "import com.nokia.Test 1.0\n" + "import org.qtproject.Test 1.0\n" "Test {}" << (!qmlCheckTypes()?"TestType":"") - << (!qmlCheckTypes()?"":"Test is ambiguous. Found in com/nokia/Test/ and in subdir/"); + << (!qmlCheckTypes()?"":"Test is ambiguous. Found in org/qtproject/Test/ and in subdir/"); } void tst_qqmllanguage::importsLocal() @@ -2221,60 +2221,60 @@ void tst_qqmllanguage::importsInstalled_data() // import installed QTest::newRow("installed import 0") - << "import com.nokia.installedtest0 0.0\n" + << "import org.qtproject.installedtest0 0.0\n" "InstalledTestTP {}" << "QQuickRectangle" << ""; QTest::newRow("installed import 0 as TP") - << "import com.nokia.installedtest0 0.0 as TP\n" + << "import org.qtproject.installedtest0 0.0 as TP\n" "TP.InstalledTestTP {}" << "QQuickRectangle" << ""; QTest::newRow("installed import 1") - << "import com.nokia.installedtest 1.0\n" + << "import org.qtproject.installedtest 1.0\n" "InstalledTest {}" << "QQuickRectangle" << ""; QTest::newRow("installed import 2") - << "import com.nokia.installedtest 1.3\n" + << "import org.qtproject.installedtest 1.3\n" "InstalledTest {}" << "QQuickRectangle" << ""; QTest::newRow("installed import 3") - << "import com.nokia.installedtest 1.4\n" + << "import org.qtproject.installedtest 1.4\n" "InstalledTest {}" << "QQuickText" << ""; QTest::newRow("installed import minor version not available") // QTBUG-11936 - << "import com.nokia.installedtest 0.1\n" + << "import org.qtproject.installedtest 0.1\n" "InstalledTest {}" << "" - << "module \"com.nokia.installedtest\" version 0.1 is not installed"; + << "module \"org.qtproject.installedtest\" version 0.1 is not installed"; QTest::newRow("installed import minor version not available") // QTBUG-9627 - << "import com.nokia.installedtest 1.10\n" + << "import org.qtproject.installedtest 1.10\n" "InstalledTest {}" << "" - << "module \"com.nokia.installedtest\" version 1.10 is not installed"; + << "module \"org.qtproject.installedtest\" version 1.10 is not installed"; QTest::newRow("installed import major version not available") // QTBUG-9627 - << "import com.nokia.installedtest 9.0\n" + << "import org.qtproject.installedtest 9.0\n" "InstalledTest {}" << "" - << "module \"com.nokia.installedtest\" version 9.0 is not installed"; + << "module \"org.qtproject.installedtest\" version 9.0 is not installed"; QTest::newRow("installed import visibility") // QT-614 - << "import com.nokia.installedtest 1.4\n" + << "import org.qtproject.installedtest 1.4\n" "PrivateType {}" << "" << "PrivateType is not a type"; QTest::newRow("installed import version QML clash") - << "import com.nokia.installedtest1 1.0\n" + << "import org.qtproject.installedtest1 1.0\n" "Test {}" << "" - << "\"Test\" version 1.0 is defined more than once in module \"com.nokia.installedtest1\""; + << "\"Test\" version 1.0 is defined more than once in module \"org.qtproject.installedtest1\""; QTest::newRow("installed import version JS clash") - << "import com.nokia.installedtest2 1.0\n" + << "import org.qtproject.installedtest2 1.0\n" "Test {}" << "" - << "\"Test\" version 1.0 is defined more than once in module \"com.nokia.installedtest2\""; + << "\"Test\" version 1.0 is defined more than once in module \"org.qtproject.installedtest2\""; } void tst_qqmllanguage::importsInstalled() @@ -2390,45 +2390,45 @@ void tst_qqmllanguage::importsOrder_data() QTest::addColumn<bool>("partialMatch"); QTest::newRow("double import") << - "import com.nokia.installedtest 1.4\n" - "import com.nokia.installedtest 1.4\n" + "import org.qtproject.installedtest 1.4\n" + "import org.qtproject.installedtest 1.4\n" "InstalledTest {}" << (!qmlCheckTypes()?"QQuickText":"") - << (!qmlCheckTypes()?"":"InstalledTest is ambiguous. Found in lib/com/nokia/installedtest/ in version 1.4 and 1.4") + << (!qmlCheckTypes()?"":"InstalledTest is ambiguous. Found in lib/org/qtproject/installedtest/ in version 1.4 and 1.4") << false; QTest::newRow("installed import overrides 1") << - "import com.nokia.installedtest 1.0\n" - "import com.nokia.installedtest 1.4\n" + "import org.qtproject.installedtest 1.0\n" + "import org.qtproject.installedtest 1.4\n" "InstalledTest {}" << (!qmlCheckTypes()?"QQuickText":"") - << (!qmlCheckTypes()?"":"InstalledTest is ambiguous. Found in lib/com/nokia/installedtest/ in version 1.4 and 1.0") + << (!qmlCheckTypes()?"":"InstalledTest is ambiguous. Found in lib/org/qtproject/installedtest/ in version 1.4 and 1.0") << false; QTest::newRow("installed import overrides 2") << - "import com.nokia.installedtest 1.4\n" - "import com.nokia.installedtest 1.0\n" + "import org.qtproject.installedtest 1.4\n" + "import org.qtproject.installedtest 1.0\n" "InstalledTest {}" << (!qmlCheckTypes()?"QQuickRectangle":"") - << (!qmlCheckTypes()?"":"InstalledTest is ambiguous. Found in lib/com/nokia/installedtest/ in version 1.0 and 1.4") + << (!qmlCheckTypes()?"":"InstalledTest is ambiguous. Found in lib/org/qtproject/installedtest/ in version 1.0 and 1.4") << false; QTest::newRow("installed import re-overrides 1") << - "import com.nokia.installedtest 1.4\n" - "import com.nokia.installedtest 1.0\n" - "import com.nokia.installedtest 1.4\n" + "import org.qtproject.installedtest 1.4\n" + "import org.qtproject.installedtest 1.0\n" + "import org.qtproject.installedtest 1.4\n" "InstalledTest {}" << (!qmlCheckTypes()?"QQuickText":"") - << (!qmlCheckTypes()?"":"InstalledTest is ambiguous. Found in lib/com/nokia/installedtest/ in version 1.4 and 1.0") + << (!qmlCheckTypes()?"":"InstalledTest is ambiguous. Found in lib/org/qtproject/installedtest/ in version 1.4 and 1.0") << false; QTest::newRow("installed import re-overrides 2") << - "import com.nokia.installedtest 1.4\n" - "import com.nokia.installedtest 1.0\n" - "import com.nokia.installedtest 1.4\n" - "import com.nokia.installedtest 1.0\n" + "import org.qtproject.installedtest 1.4\n" + "import org.qtproject.installedtest 1.0\n" + "import org.qtproject.installedtest 1.4\n" + "import org.qtproject.installedtest 1.0\n" "InstalledTest {}" << (!qmlCheckTypes()?"QQuickRectangle":"") - << (!qmlCheckTypes()?"":"InstalledTest is ambiguous. Found in lib/com/nokia/installedtest/ in version 1.0 and 1.4") + << (!qmlCheckTypes()?"":"InstalledTest is ambiguous. Found in lib/org/qtproject/installedtest/ in version 1.0 and 1.4") << false; QTest::newRow("installed import versus builtin 1") << - "import com.nokia.installedtest 1.5\n" + "import org.qtproject.installedtest 1.5\n" "import QtQuick 2.0\n" "Rectangle {}" << (!qmlCheckTypes()?"QQuickRectangle":"") @@ -2436,21 +2436,21 @@ void tst_qqmllanguage::importsOrder_data() << true; QTest::newRow("installed import versus builtin 2") << "import QtQuick 2.0\n" - "import com.nokia.installedtest 1.5\n" + "import org.qtproject.installedtest 1.5\n" "Rectangle {}" << (!qmlCheckTypes()?"QQuickText":"") - << (!qmlCheckTypes()?"":"Rectangle is ambiguous. Found in lib/com/nokia/installedtest/ and in file://") + << (!qmlCheckTypes()?"":"Rectangle is ambiguous. Found in lib/org/qtproject/installedtest/ and in file://") << true; QTest::newRow("namespaces cannot be overridden by types 1") << "import QtQuick 2.0 as Rectangle\n" - "import com.nokia.installedtest 1.5\n" + "import org.qtproject.installedtest 1.5\n" "Rectangle {}" << "" << "Namespace Rectangle cannot be used as a type" << false; QTest::newRow("namespaces cannot be overridden by types 2") << "import QtQuick 2.0 as Rectangle\n" - "import com.nokia.installedtest 1.5\n" + "import org.qtproject.installedtest 1.5\n" "Rectangle.Image {}" << "QQuickImage" << "" @@ -2461,10 +2461,10 @@ void tst_qqmllanguage::importsOrder_data() << "" << false; QTest::newRow("local last 2") << - "import com.nokia.installedtest 1.0\n" + "import org.qtproject.installedtest 1.0\n" "LocalLast {}" - << (!qmlCheckTypes()?"QQuickRectangle":"")// i.e. from com.nokia.installedtest, not data/LocalLast.qml - << (!qmlCheckTypes()?"":"LocalLast is ambiguous. Found in lib/com/nokia/installedtest/ and in ") + << (!qmlCheckTypes()?"QQuickRectangle":"")// i.e. from org.qtproject.installedtest, not data/LocalLast.qml + << (!qmlCheckTypes()?"":"LocalLast is ambiguous. Found in lib/org/qtproject/installedtest/ and in ") << false; } @@ -2571,7 +2571,7 @@ void tst_qqmllanguage::importJs() QCOMPARE(expected.size(), actual.size()); for (int i = 0; i < expected.size(); ++i) { - size_t compareLen = std::min(expected.at(i).length(), actual.at(i).length()); + const int compareLen = qMin(expected.at(i).length(), actual.at(i).length()); QCOMPARE(expected.at(i).left(compareLen), actual.at(i).left(compareLen)); } } @@ -2773,17 +2773,17 @@ void tst_qqmllanguage::initTestCase() registerTypes(); // Registering the TestType class in other modules should have no adverse effects - qmlRegisterType<TestType>("com.nokia.TestPre", 1, 0, "Test"); + qmlRegisterType<TestType>("org.qtproject.TestPre", 1, 0, "Test"); - qmlRegisterType<TestType>("com.nokia.Test", 0, 0, "TestTP"); - qmlRegisterType<TestType>("com.nokia.Test", 1, 0, "Test"); - qmlRegisterType<TestType>("com.nokia.Test", 1, 5, "Test"); - qmlRegisterType<TestType2>("com.nokia.Test", 1, 8, "Test"); - qmlRegisterType<TestType>("com.nokia.Test", 1, 9, "OldTest"); - qmlRegisterType<TestType2>("com.nokia.Test", 1, 12, "Test"); + qmlRegisterType<TestType>("org.qtproject.Test", 0, 0, "TestTP"); + qmlRegisterType<TestType>("org.qtproject.Test", 1, 0, "Test"); + qmlRegisterType<TestType>("org.qtproject.Test", 1, 5, "Test"); + qmlRegisterType<TestType2>("org.qtproject.Test", 1, 8, "Test"); + qmlRegisterType<TestType>("org.qtproject.Test", 1, 9, "OldTest"); + qmlRegisterType<TestType2>("org.qtproject.Test", 1, 12, "Test"); // Registering the TestType class in other modules should have no adverse effects - qmlRegisterType<TestType>("com.nokia.TestPost", 1, 0, "Test"); + qmlRegisterType<TestType>("org.qtproject.TestPost", 1, 0, "Test"); // Create locale-specific file // For POSIX, this will just be data/I18nType.qml, since POSIX is 7-bit @@ -2948,13 +2948,12 @@ void tst_qqmllanguage::signalWithDefaultArg() QCOMPARE(object->property("signalCount").toInt(), 2); QCOMPARE(object->property("signalArg").toInt(), 15); - const QMetaObject *metaObject = object->metaObject(); - metaObject->invokeMethod(object, "emitNoArgSignal"); + QMetaObject::invokeMethod(object, "emitNoArgSignal"); QCOMPARE(object->property("signalCount").toInt(), 3); QCOMPARE(object->property("signalArg").toInt(), 5); - metaObject->invokeMethod(object, "emitArgSignal"); + QMetaObject::invokeMethod(object, "emitArgSignal"); QCOMPARE(object->property("signalCount").toInt(), 4); QCOMPARE(object->property("signalArg").toInt(), 22); @@ -3065,9 +3064,8 @@ void tst_qqmllanguage::literals_data() QTest::newRow("special8") << "c8" << QVariant(QString("\"")); QTest::newRow("special9") << "c9" << QVariant(QString("\\")); // We don't handle octal escape sequences -// QTest::newRow("special10") << "c10" << QVariant(QString("\251")); - QTest::newRow("special11") << "c10" << QVariant(QString::fromLatin1("\xa9")); - QTest::newRow("special12") << "c11" << QVariant(QString::fromUtf8("\u00A9")); + QTest::newRow("special10") << "c10" << QVariant(QString(1, QChar(0xa9))); + QTest::newRow("special11") << "c11" << QVariant(QString(1, QChar(0x00A9))); } void tst_qqmllanguage::literals() diff --git a/tests/auto/qml/qqmlpropertymap/qqmlpropertymap.pro b/tests/auto/qml/qqmlpropertymap/qqmlpropertymap.pro index bf22afa20c..81212bb064 100644 --- a/tests/auto/qml/qqmlpropertymap/qqmlpropertymap.pro +++ b/tests/auto/qml/qqmlpropertymap/qqmlpropertymap.pro @@ -4,6 +4,8 @@ macx:CONFIG -= app_bundle SOURCES += tst_qqmlpropertymap.cpp +include (../../shared/util.pri) + CONFIG += parallel_test QT += core-private gui-private qml-private quick-private testlib diff --git a/tests/auto/qml/qqmlpropertymap/tst_qqmlpropertymap.cpp b/tests/auto/qml/qqmlpropertymap/tst_qqmlpropertymap.cpp index 99179f533b..af2a032a30 100644 --- a/tests/auto/qml/qqmlpropertymap/tst_qqmlpropertymap.cpp +++ b/tests/auto/qml/qqmlpropertymap/tst_qqmlpropertymap.cpp @@ -39,6 +39,7 @@ ** ****************************************************************************/ #include <qtest.h> +#include "../../shared/util.h" #include <QtQml/qqmlengine.h> #include <QtQml/qqmlcontext.h> #include <QtQml/qqmlpropertymap.h> @@ -294,19 +295,9 @@ public slots: void testSlot() {} }; -namespace -{ - QStringList messages; - void msgHandler(QtMsgType, const QMessageLogContext &, const QString &msg) - { - messages << msg; - } -} - void tst_QQmlPropertyMap::metaObjectAccessibility() { - messages.clear(); - QtMessageHandler old = qInstallMessageHandler(msgHandler); + QQmlTestMessageHandler messageHandler; QQmlEngine engine; @@ -318,9 +309,7 @@ void tst_QQmlPropertyMap::metaObjectAccessibility() QCOMPARE(map.metaObject()->className(), "MyEnhancedPropertyMap"); - qInstallMessageHandler(old); - - QCOMPARE(messages.count(), 0); + QVERIFY2(messageHandler.messages().isEmpty(), qPrintable(messageHandler.messageString())); } QTEST_MAIN(tst_QQmlPropertyMap) diff --git a/tests/auto/qml/qqmlqt/tst_qqmlqt.cpp b/tests/auto/qml/qqmlqt/tst_qqmlqt.cpp index 22be661755..9a525df973 100644 --- a/tests/auto/qml/qqmlqt/tst_qqmlqt.cpp +++ b/tests/auto/qml/qqmlqt/tst_qqmlqt.cpp @@ -320,8 +320,8 @@ void tst_qqmlqt::vector2d() QObject *object = component.create(); QVERIFY(object != 0); - QCOMPARE(qvariant_cast<QVector2D>(object->property("test1")), QVector2D(1, 0.9)); - QCOMPARE(qvariant_cast<QVector2D>(object->property("test2")), QVector2D(102, -982.1)); + QCOMPARE(qvariant_cast<QVector2D>(object->property("test1")), QVector2D(1, 0.9f)); + QCOMPARE(qvariant_cast<QVector2D>(object->property("test2")), QVector2D(102, -982.1f)); QCOMPARE(qvariant_cast<QVector2D>(object->property("test3")), QVector2D()); QCOMPARE(qvariant_cast<QVector2D>(object->property("test4")), QVector2D()); @@ -340,8 +340,8 @@ void tst_qqmlqt::vector3d() QObject *object = component.create(); QVERIFY(object != 0); - QCOMPARE(qvariant_cast<QVector3D>(object->property("test1")), QVector3D(1, 0, 0.9)); - QCOMPARE(qvariant_cast<QVector3D>(object->property("test2")), QVector3D(102, -10, -982.1)); + QCOMPARE(qvariant_cast<QVector3D>(object->property("test1")), QVector3D(1, 0, 0.9f)); + QCOMPARE(qvariant_cast<QVector3D>(object->property("test2")), QVector3D(102, -10, -982.1f)); QCOMPARE(qvariant_cast<QVector3D>(object->property("test3")), QVector3D()); QCOMPARE(qvariant_cast<QVector3D>(object->property("test4")), QVector3D()); @@ -360,8 +360,8 @@ void tst_qqmlqt::vector4d() QObject *object = component.create(); QVERIFY(object != 0); - QCOMPARE(qvariant_cast<QVector4D>(object->property("test1")), QVector4D(1, 0, 0.9, 0.6)); - QCOMPARE(qvariant_cast<QVector4D>(object->property("test2")), QVector4D(102, -10, -982.1, 10)); + QCOMPARE(qvariant_cast<QVector4D>(object->property("test1")), QVector4D(1, 0, 0.9f, 0.6f)); + QCOMPARE(qvariant_cast<QVector4D>(object->property("test2")), QVector4D(102, -10, -982.1f, 10)); QCOMPARE(qvariant_cast<QVector4D>(object->property("test3")), QVector4D()); QCOMPARE(qvariant_cast<QVector4D>(object->property("test4")), QVector4D()); @@ -380,8 +380,8 @@ void tst_qqmlqt::quaternion() QObject *object = component.create(); QVERIFY(object != 0); - QCOMPARE(qvariant_cast<QQuaternion>(object->property("test1")), QQuaternion(2, 17, 0.9, 0.6)); - QCOMPARE(qvariant_cast<QQuaternion>(object->property("test2")), QQuaternion(102, -10, -982.1, 10)); + QCOMPARE(qvariant_cast<QQuaternion>(object->property("test1")), QQuaternion(2, 17, 0.9f, 0.6f)); + QCOMPARE(qvariant_cast<QQuaternion>(object->property("test2")), QQuaternion(102, -10, -982.1f, 10)); QCOMPARE(qvariant_cast<QQuaternion>(object->property("test3")), QQuaternion()); QCOMPARE(qvariant_cast<QQuaternion>(object->property("test4")), QQuaternion()); diff --git a/tests/auto/qml/v4/tst_v4.cpp b/tests/auto/qml/v4/tst_v4.cpp index f5e66a1d83..0644b363dd 100644 --- a/tests/auto/qml/v4/tst_v4.cpp +++ b/tests/auto/qml/v4/tst_v4.cpp @@ -104,16 +104,6 @@ void tst_v4::initTestCase() registerTypes(); } -static int v4ErrorCount; -static QList<QString> v4ErrorMessages; -static void v4ErrorsMsgHandler(QtMsgType, const QMessageLogContext &, const QString &message) -{ - v4ErrorMessages.append(message); - - if (message.contains("QV4")) - ++v4ErrorCount; -} - void tst_v4::qtscript() { QFETCH(QString, file); @@ -121,21 +111,14 @@ void tst_v4::qtscript() QQmlComponent component(&engine, testFileUrl(file)); - v4ErrorCount = 0; - v4ErrorMessages.clear(); - QtMessageHandler old = qInstallMessageHandler(v4ErrorsMsgHandler); + QQmlTestMessageHandler messageHandler; QObject *o = component.create(); delete o; - qInstallMessageHandler(old); - - if (v4ErrorCount) { - foreach (const QString &msg, v4ErrorMessages) - qDebug() << msg; - } QEXPECT_FAIL("jsvalueHandling", "QTBUG-26951 - QJSValue has a different representation of NULL to QV8Engine", Continue); - QCOMPARE(v4ErrorCount, 0); + const int v4ErrorCount = messageHandler.messages().filter(QLatin1String("QV4")).size(); + QVERIFY2(v4ErrorCount == 0, qPrintable(messageHandler.messageString())); QV4Compiler::enableBindingsTest(false); } @@ -959,12 +942,6 @@ void tst_v4::subscriptions() } } -static QStringList messages; -static void msgHandler(QtMsgType, const QMessageLogContext &, const QString &msg) -{ - messages << msg; -} - static QByteArray getAddress(int address) { return QByteArray::number(address); @@ -1108,8 +1085,7 @@ void tst_v4::debuggingDumpInstructions() expectedPreAddress << "\t\tInitString\t\tString_DataIndex(0) -> String_Slot(0)"; QStringList expected; - messages = QStringList(); - QtMessageHandler old = qInstallMessageHandler(msgHandler); + QQmlTestMessageHandler messageHandler; QQmlJS::Bytecode bc; #define DUMP_INSTR_IN_UNIT_TEST(I, FMT) { QQmlJS::V4InstrData<QQmlJS::V4Instr::I> i; memset(&i, 0, sizeof(i)); bc.append(i); } @@ -1130,15 +1106,15 @@ void tst_v4::debuggingDumpInstructions() bc.dump(start, end); // ensure that the output was expected. - qInstallMessageHandler(old); - QCOMPARE(messages.count(), expected.count()); - for (int ii = 0; ii < messages.count(); ++ii) { + const int messageCount = messageHandler.messages().count(); + QCOMPARE(messageCount, expected.count()); + for (int ii = 0; ii < messageCount; ++ii) { // Calculating the destination address of a null jump/branch instruction is tricky // so instead we simply don't compare that part of those instructions. QRegExp ignoreAddress("\\bAddress\\((\\w*)\\)"); ignoreAddress.setMinimal(true); QString expectOut = expected.at(ii); expectOut.replace(ignoreAddress, ""); - QString actualOut = messages.at(ii); actualOut.replace(ignoreAddress, ""); + QString actualOut = messageHandler.messages().at(ii); actualOut.replace(ignoreAddress, ""); QCOMPARE(actualOut, expectOut); } } diff --git a/tests/auto/qmltest/animations/tst_abstractanimationjobcrash.qml b/tests/auto/qmltest/animations/tst_abstractanimationjobcrash.qml new file mode 100644 index 0000000000..466bb160aa --- /dev/null +++ b/tests/auto/qmltest/animations/tst_abstractanimationjobcrash.qml @@ -0,0 +1,73 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names +** of its contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.0 +import QtTest 1.0 + +Item { + Rectangle { + id: rect + + property bool finished: false + + Behavior on opacity { + NumberAnimation { + onRunningChanged: { + if (!running) { + if (rect.opacity <= 0.1) + rect.opacity = 1 + else + rect.finished = true + } + } + } + } + } + + TestCase { + name: "AbstractAnitaionJobCrash" + + function test_noCrash() { + rect.opacity = 0 + while (!rect.finished) + wait(100) + } + } +} diff --git a/tests/auto/qmltest/qmltest.pro b/tests/auto/qmltest/qmltest.pro index 7c95104eed..0a7967654c 100644 --- a/tests/auto/qmltest/qmltest.pro +++ b/tests/auto/qmltest/qmltest.pro @@ -1,6 +1,6 @@ TEMPLATE=app TARGET=tst_qmltest -CONFIG += warn_on qmltestcase +CONFIG += qmltestcase SOURCES += tst_qmltest.cpp diff --git a/tests/auto/quick/examples/tst_examples.cpp b/tests/auto/quick/examples/tst_examples.cpp index 63f05a61d9..ed43be71d7 100644 --- a/tests/auto/quick/examples/tst_examples.cpp +++ b/tests/auto/quick/examples/tst_examples.cpp @@ -116,9 +116,6 @@ tst_examples::tst_examples() : window(0) excludedDirs << "snippets/qml/xmlrole.qml"; #endif - // QTBUG-24034 - don't run customparticle examples - excludedDirs << "demos/flickr"; - excludedDirs << "examples/particles/customparticle"; } tst_examples::~tst_examples() diff --git a/tests/auto/quick/geometry/tst_geometry.cpp b/tests/auto/quick/geometry/tst_geometry.cpp index 8bf65d1638..fc5e921db5 100644 --- a/tests/auto/quick/geometry/tst_geometry.cpp +++ b/tests/auto/quick/geometry/tst_geometry.cpp @@ -139,9 +139,9 @@ void GeometryTest::testCustomGeometry() }; static QSGGeometry::Attribute attributes[] = { - { 0, 2, GL_FLOAT }, - { 1, 4, GL_UNSIGNED_BYTE }, - { 2, 4, GL_FLOAT }, + { 0, 2, GL_FLOAT, 0, 0}, + { 1, 4, GL_UNSIGNED_BYTE, 0, 0}, + { 2, 4, GL_FLOAT, 0, 0}, }; static QSGGeometry::AttributeSet set = { 4, 6 * sizeof(float) + 4 * sizeof(unsigned char), attributes }; diff --git a/tests/auto/quick/qquickanimationcontroller/qquickanimationcontroller.pro b/tests/auto/quick/qquickanimationcontroller/qquickanimationcontroller.pro index c71903a195..b5e03ee620 100644 --- a/tests/auto/quick/qquickanimationcontroller/qquickanimationcontroller.pro +++ b/tests/auto/quick/qquickanimationcontroller/qquickanimationcontroller.pro @@ -2,7 +2,7 @@ QT += core-private gui-private qml-private TEMPLATE=app TARGET=tst_qquickanimationcontroller -CONFIG += warn_on qmltestcase +CONFIG += qmltestcase CONFIG += parallel_test SOURCES += tst_qquickanimationcontroller.cpp diff --git a/tests/auto/quick/qquickcanvasitem/qquickcanvasitem.pro b/tests/auto/quick/qquickcanvasitem/qquickcanvasitem.pro index 01c3a5eb02..a164de735a 100644 --- a/tests/auto/quick/qquickcanvasitem/qquickcanvasitem.pro +++ b/tests/auto/quick/qquickcanvasitem/qquickcanvasitem.pro @@ -2,7 +2,7 @@ QT += core-private gui-private qml-private TEMPLATE=app TARGET=tst_qquickcanvasitem -CONFIG += warn_on qmltestcase +CONFIG += qmltestcase SOURCES += tst_qquickcanvasitem.cpp TESTDATA = data/* diff --git a/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp b/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp index 37d96f4950..dc0db6d4ff 100644 --- a/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp +++ b/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp @@ -292,6 +292,7 @@ private: } void releaseView(QQuickView *view) { Q_ASSERT(view == m_view); + Q_UNUSED(view) m_view->setSource(QUrl()); } #else diff --git a/tests/auto/quick/qquickimage/tst_qquickimage.cpp b/tests/auto/quick/qquickimage/tst_qquickimage.cpp index 38c9bb3d8a..bce1366e52 100644 --- a/tests/auto/quick/qquickimage/tst_qquickimage.cpp +++ b/tests/auto/quick/qquickimage/tst_qquickimage.cpp @@ -661,13 +661,6 @@ void tst_qquickimage::sourceSize_QTBUG_16389() delete window; } -static int numberOfWarnings = 0; -static void checkWarnings(QtMsgType, const QMessageLogContext &, const QString &msg) -{ - if (!msg.contains("QGLContext::makeCurrent(): Failed.")) - numberOfWarnings++; -} - // QTBUG-15690 void tst_qquickimage::nullPixmapPaint() { @@ -679,12 +672,11 @@ void tst_qquickimage::nullPixmapPaint() QTRY_VERIFY(image != 0); image->setSource(SERVER_ADDR + QString("/no-such-file.png")); - QtMessageHandler previousMsgHandler = qInstallMessageHandler(checkWarnings); - + QQmlTestMessageHandler messageHandler; // used to print "QTransform::translate with NaN called" QPixmap pm = QPixmap::fromImage(window->grabWindow()); - qInstallMessageHandler(previousMsgHandler); - QVERIFY(numberOfWarnings == 0); + const QStringList glErrors = messageHandler.messages().filter(QLatin1String("QGLContext::makeCurrent(): Failed."), Qt::CaseInsensitive); + QVERIFY2(glErrors.size() == messageHandler.messages().size(), qPrintable(messageHandler.messageString())); delete image; delete window; diff --git a/tests/auto/quick/qquickimageprovider/tst_qquickimageprovider.cpp b/tests/auto/quick/qquickimageprovider/tst_qquickimageprovider.cpp index 64eb0a7f42..19b547944c 100644 --- a/tests/auto/quick/qquickimageprovider/tst_qquickimageprovider.cpp +++ b/tests/auto/quick/qquickimageprovider/tst_qquickimageprovider.cpp @@ -236,7 +236,7 @@ void tst_qquickimageprovider::runTest(bool async, QQuickImageProvider *provider) // From this point on, treat forced async providers as async behaviour-wise if (engine.imageProvider(QUrl(source).host()) == provider) - async |= provider->flags() & QQuickImageProvider::ForceAsynchronousImageLoading; + async |= (provider->flags() & QQuickImageProvider::ForceAsynchronousImageLoading) != 0; if (async) QTRY_VERIFY(obj->status() == QQuickImage::Loading); diff --git a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp index af628dff63..51ce74ef40 100644 --- a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp +++ b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp @@ -259,18 +259,10 @@ private: } #endif - static void errorMsgHandler(QtMsgType, const QMessageLogContext &, const QString &) - { - ++m_errorCount; - } - QQuickView *m_view; QString testForView; - static int m_errorCount; }; -int tst_QQuickListView::m_errorCount = 0; - class TestObject : public QObject { Q_OBJECT @@ -6785,8 +6777,7 @@ void tst_QQuickListView::parentBinding() { QQuickView *window = createView(); - m_errorCount = 0; - QtMessageHandler old = qInstallMessageHandler(errorMsgHandler); + QQmlTestMessageHandler messageHandler; window->setSource(testFileUrl("parentBinding.qml")); window->show(); @@ -6805,9 +6796,7 @@ void tst_QQuickListView::parentBinding() QCOMPARE(item->height(), listview->height()/12); // there should be no transient binding error - QVERIFY(!m_errorCount); - - qInstallMessageHandler(old); + QVERIFY2(messageHandler.messages().isEmpty(), qPrintable(messageHandler.messageString())); delete window; } diff --git a/tests/auto/quick/qquickloader/tst_qquickloader.cpp b/tests/auto/quick/qquickloader/tst_qquickloader.cpp index 698c016f6f..e456297a4e 100644 --- a/tests/auto/quick/qquickloader/tst_qquickloader.cpp +++ b/tests/auto/quick/qquickloader/tst_qquickloader.cpp @@ -462,6 +462,7 @@ void tst_QQuickLoader::networkComponent() " Component { id: comp; NW.Rect120x60 {} }\n" " Loader { sourceComponent: comp } }") , dataDirectory()); + QTRY_COMPARE(component.status(), QQmlComponent::Ready); QQuickItem *item = qobject_cast<QQuickItem*>(component.create()); QVERIFY(item); @@ -488,6 +489,7 @@ void tst_QQuickLoader::failNetworkRequest() QQmlComponent component(&engine); component.setData(QByteArray("import QtQuick 2.0\nLoader { property int did_load: 123; source: \"" SERVER_ADDR "/IDontExist.qml\"; onLoaded: did_load=456 }"), QUrl(QString(SERVER_ADDR "/dummy.qml"))); + QTRY_COMPARE(component.status(), QQmlComponent::Ready); QQuickLoader *loader = qobject_cast<QQuickLoader*>(component.create()); QVERIFY(loader != 0); diff --git a/tests/auto/quick/qquickmousearea/data/changeAxis.qml b/tests/auto/quick/qquickmousearea/data/changeAxis.qml index cf791df31d..4463f467a2 100644 --- a/tests/auto/quick/qquickmousearea/data/changeAxis.qml +++ b/tests/auto/quick/qquickmousearea/data/changeAxis.qml @@ -16,7 +16,7 @@ Rectangle { objectName: "mouseregion" anchors.fill: parent drag.target: blackRect - drag.axis: blackRect.x <= 75 ? Drag.XandYAxis : Drag.YAxis + drag.axis: blackRect.x <= 75 ? Drag.XAndYAxis : Drag.YAxis } } } diff --git a/tests/auto/quick/qquickmousearea/data/dragging.qml b/tests/auto/quick/qquickmousearea/data/dragging.qml index d9b6ac4083..4e0dbe6277 100644 --- a/tests/auto/quick/qquickmousearea/data/dragging.qml +++ b/tests/auto/quick/qquickmousearea/data/dragging.qml @@ -18,7 +18,7 @@ Rectangle { objectName: "mouseregion" anchors.fill: parent drag.target: blackRect - drag.axis: Drag.XandYAxis + drag.axis: Drag.XAndYAxis drag.minimumX: 0 drag.maximumX: whiteRect.width-blackRect.width drag.minimumY: 0 diff --git a/tests/auto/quick/qquickmousearea/data/dragproperties.qml b/tests/auto/quick/qquickmousearea/data/dragproperties.qml index 421dfe26b7..d8d7b3bb6e 100644 --- a/tests/auto/quick/qquickmousearea/data/dragproperties.qml +++ b/tests/auto/quick/qquickmousearea/data/dragproperties.qml @@ -18,7 +18,7 @@ Rectangle { objectName: "mouseregion" anchors.fill: parent drag.target: blackRect - drag.axis: Drag.XandYAxis + drag.axis: Drag.XAndYAxis drag.minimumX: 0 drag.maximumX: whiteRect.width-blackRect.width drag.minimumY: 0 diff --git a/tests/auto/quick/qquickmousearea/data/dragreset.qml b/tests/auto/quick/qquickmousearea/data/dragreset.qml index d7949f9139..3259dcf87d 100644 --- a/tests/auto/quick/qquickmousearea/data/dragreset.qml +++ b/tests/auto/quick/qquickmousearea/data/dragreset.qml @@ -18,7 +18,7 @@ Rectangle { objectName: "mouseregion" anchors.fill: parent drag.target: haveTarget ? blackRect : undefined - drag.axis: Drag.XandYAxis + drag.axis: Drag.XAndYAxis drag.minimumX: 0 drag.maximumX: whiteRect.width-blackRect.width drag.minimumY: 0 diff --git a/tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp b/tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp index 3c89ad4908..76768ee395 100644 --- a/tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp +++ b/tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp @@ -150,7 +150,7 @@ void tst_QQuickMouseArea::dragProperties() QCOMPARE(targetSpy.count(),1); // axis - QCOMPARE(drag->axis(), QQuickDrag::XandYAxis); + QCOMPARE(drag->axis(), QQuickDrag::XAndYAxis); QSignalSpy axisSpy(drag, SIGNAL(axisChanged())); drag->setAxis(QQuickDrag::XAxis); QCOMPARE(drag->axis(), QQuickDrag::XAxis); @@ -1285,7 +1285,6 @@ void tst_QQuickMouseArea::pressedMultipleButtons() QPoint point(10,10); - int prevButtons = 0; for (int i = 0; i < buttons.count(); ++i) { int btns = buttons.at(i); @@ -1294,8 +1293,6 @@ void tst_QQuickMouseArea::pressedMultipleButtons() QCOMPARE(mouseArea->pressed(), pressed.at(i)); QCOMPARE(mouseArea->pressedButtons(), pressedButtons.at(i)); - - prevButtons = buttons.at(i); } QTest::mousePress(view, Qt::NoButton, 0, point); @@ -1344,7 +1341,7 @@ void tst_QQuickMouseArea::changeAxis() QTRY_VERIFY(drag->active()); QCOMPARE(blackRect->x(), 72.0); QCOMPARE(blackRect->y(), 72.0); - QCOMPARE(drag->axis(), QQuickDrag::XandYAxis); + QCOMPARE(drag->axis(), QQuickDrag::XAndYAxis); /* When blackRect.x becomes bigger than 75, the drag axis is changed to * Drag.YAxis by the QML code. Verify that this happens, and that the drag diff --git a/tests/auto/quick/qquickpathview/tst_qquickpathview.cpp b/tests/auto/quick/qquickpathview/tst_qquickpathview.cpp index dc0f31d56a..4a7d4a279d 100644 --- a/tests/auto/quick/qquickpathview/tst_qquickpathview.cpp +++ b/tests/auto/quick/qquickpathview/tst_qquickpathview.cpp @@ -1798,7 +1798,7 @@ void tst_QQuickPathView::maximumFlickVelocity() flick(window, QPoint(200,10), QPoint(10,10), 180); QVERIFY(pathview->isMoving()); QVERIFY(pathview->isFlicking()); - QTRY_VERIFY(!pathview->isMoving()); + QTRY_VERIFY_WITH_TIMEOUT(!pathview->isMoving(), 50000); double dist1 = 100 - pathview->offset(); @@ -1807,7 +1807,7 @@ void tst_QQuickPathView::maximumFlickVelocity() flick(window, QPoint(200,10), QPoint(10,10), 180); QVERIFY(pathview->isMoving()); QVERIFY(pathview->isFlicking()); - QTRY_VERIFY(!pathview->isMoving()); + QTRY_VERIFY_WITH_TIMEOUT(!pathview->isMoving(), 50000); double dist2 = 100 - pathview->offset(); @@ -1816,7 +1816,7 @@ void tst_QQuickPathView::maximumFlickVelocity() flick(window, QPoint(200,10), QPoint(10,10), 180); QVERIFY(pathview->isMoving()); QVERIFY(pathview->isFlicking()); - QTRY_VERIFY(!pathview->isMoving()); + QTRY_VERIFY_WITH_TIMEOUT(!pathview->isMoving(), 50000); double dist3 = 100 - pathview->offset(); diff --git a/tests/auto/quick/qquickpincharea/data/pinchproperties.qml b/tests/auto/quick/qquickpincharea/data/pinchproperties.qml index 6665e2f597..37d706fc8e 100644 --- a/tests/auto/quick/qquickpincharea/data/pinchproperties.qml +++ b/tests/auto/quick/qquickpincharea/data/pinchproperties.qml @@ -22,7 +22,7 @@ Rectangle { objectName: "pincharea" anchors.fill: parent pinch.target: blackRect - pinch.dragAxis: Drag.XandYAxis + pinch.dragAxis: Drag.XAndYAxis pinch.minimumX: 0 pinch.maximumX: whiteRect.width-blackRect.width pinch.minimumY: 0 diff --git a/tests/auto/quick/qquickpincharea/data/transformedPinchArea.qml b/tests/auto/quick/qquickpincharea/data/transformedPinchArea.qml index 7d5d88a5bd..292838ed2a 100644 --- a/tests/auto/quick/qquickpincharea/data/transformedPinchArea.qml +++ b/tests/auto/quick/qquickpincharea/data/transformedPinchArea.qml @@ -24,7 +24,7 @@ Rectangle { property bool pinching: false pinch.target: rect - pinch.dragAxis: Drag.XandYAxis + pinch.dragAxis: Drag.XAndYAxis onPinchStarted: pinching = true onPinchFinished: pinching = false } diff --git a/tests/auto/quick/qquickpincharea/tst_qquickpincharea.cpp b/tests/auto/quick/qquickpincharea/tst_qquickpincharea.cpp index b3147067b0..4ba9e50c26 100644 --- a/tests/auto/quick/qquickpincharea/tst_qquickpincharea.cpp +++ b/tests/auto/quick/qquickpincharea/tst_qquickpincharea.cpp @@ -108,7 +108,7 @@ void tst_QQuickPinchArea::pinchProperties() QCOMPARE(targetSpy.count(),1); // axis - QCOMPARE(pinch->axis(), QQuickPinch::XandYAxis); + QCOMPARE(pinch->axis(), QQuickPinch::XAndYAxis); QSignalSpy axisSpy(pinch, SIGNAL(dragAxisChanged())); pinch->setAxis(QQuickPinch::XAxis); QCOMPARE(pinch->axis(), QQuickPinch::XAxis); diff --git a/tests/auto/quick/qquickpositioners/tst_qquickpositioners.cpp b/tests/auto/quick/qquickpositioners/tst_qquickpositioners.cpp index b9a18eec01..baba59a1aa 100644 --- a/tests/auto/quick/qquickpositioners/tst_qquickpositioners.cpp +++ b/tests/auto/quick/qquickpositioners/tst_qquickpositioners.cpp @@ -1722,111 +1722,109 @@ void tst_qquickpositioners::test_flow_implicit_resize() delete window; } -QString warningMessage; - -void interceptWarnings(QtMsgType type, const QMessageLogContext &, const QString &msg) -{ - Q_UNUSED( type ); - warningMessage = msg; -} - void tst_qquickpositioners::test_conflictinganchors() { - QtMessageHandler oldMsgHandler = qInstallMessageHandler(interceptWarnings); + QQmlTestMessageHandler messageHandler; QQmlEngine engine; QQmlComponent component(&engine); component.setData("import QtQuick 2.0\nColumn { Item { width: 100; height: 100; } }", QUrl::fromLocalFile("")); QQuickItem *item = qobject_cast<QQuickItem*>(component.create()); QVERIFY(item); - QVERIFY(warningMessage.isEmpty()); + QVERIFY2(messageHandler.messages().isEmpty(), qPrintable(messageHandler.messageString())); delete item; component.setData("import QtQuick 2.0\nRow { Item { width: 100; height: 100; } }", QUrl::fromLocalFile("")); item = qobject_cast<QQuickItem*>(component.create()); QVERIFY(item); - QVERIFY(warningMessage.isEmpty()); + QVERIFY2(messageHandler.messages().isEmpty(), qPrintable(messageHandler.messageString())); delete item; component.setData("import QtQuick 2.0\nGrid { Item { width: 100; height: 100; } }", QUrl::fromLocalFile("")); item = qobject_cast<QQuickItem*>(component.create()); QVERIFY(item); - QVERIFY(warningMessage.isEmpty()); + QVERIFY2(messageHandler.messages().isEmpty(), qPrintable(messageHandler.messageString())); delete item; component.setData("import QtQuick 2.0\nFlow { Item { width: 100; height: 100; } }", QUrl::fromLocalFile("")); item = qobject_cast<QQuickItem*>(component.create()); QVERIFY(item); - QVERIFY(warningMessage.isEmpty()); + QVERIFY2(messageHandler.messages().isEmpty(), qPrintable(messageHandler.messageString())); delete item; component.setData("import QtQuick 2.0\nColumn { Item { width: 100; height: 100; anchors.top: parent.top } }", QUrl::fromLocalFile("")); item = qobject_cast<QQuickItem*>(component.create()); QVERIFY(item); - QCOMPARE(warningMessage, QString("file::2:1: QML Column: Cannot specify top, bottom, verticalCenter, fill or centerIn anchors for items inside Column. Column will not function.")); - warningMessage.clear(); + QCOMPARE(messageHandler.messages().size(), 1); + QCOMPARE(messageHandler.messages().back(), QString("file::2:1: QML Column: Cannot specify top, bottom, verticalCenter, fill or centerIn anchors for items inside Column. Column will not function.")); + messageHandler.clear(); delete item; component.setData("import QtQuick 2.0\nColumn { Item { width: 100; height: 100; anchors.centerIn: parent } }", QUrl::fromLocalFile("")); item = qobject_cast<QQuickItem*>(component.create()); QVERIFY(item); - QCOMPARE(warningMessage, QString("file::2:1: QML Column: Cannot specify top, bottom, verticalCenter, fill or centerIn anchors for items inside Column. Column will not function.")); - warningMessage.clear(); + QCOMPARE(messageHandler.messages().size(), 1); + QCOMPARE(messageHandler.messages().back(), QString("file::2:1: QML Column: Cannot specify top, bottom, verticalCenter, fill or centerIn anchors for items inside Column. Column will not function.")); + messageHandler.clear(); delete item; component.setData("import QtQuick 2.0\nColumn { Item { width: 100; height: 100; anchors.left: parent.left } }", QUrl::fromLocalFile("")); item = qobject_cast<QQuickItem*>(component.create()); QVERIFY(item); - QVERIFY(warningMessage.isEmpty()); - warningMessage.clear(); + QVERIFY2(messageHandler.messages().isEmpty(), qPrintable(messageHandler.messageString())); delete item; component.setData("import QtQuick 2.0\nRow { Item { width: 100; height: 100; anchors.left: parent.left } }", QUrl::fromLocalFile("")); item = qobject_cast<QQuickItem*>(component.create()); QVERIFY(item); - QCOMPARE(warningMessage, QString("file::2:1: QML Row: Cannot specify left, right, horizontalCenter, fill or centerIn anchors for items inside Row. Row will not function.")); - warningMessage.clear(); + QCOMPARE(messageHandler.messages().size(), 1); + QCOMPARE(messageHandler.messages().back(), QString("file::2:1: QML Row: Cannot specify left, right, horizontalCenter, fill or centerIn anchors for items inside Row. Row will not function.")); + messageHandler.clear(); delete item; component.setData("import QtQuick 2.0\nRow { width: 100; height: 100; Item { anchors.fill: parent } }", QUrl::fromLocalFile("")); item = qobject_cast<QQuickItem*>(component.create()); QVERIFY(item); - QCOMPARE(warningMessage, QString("file::2:1: QML Row: Cannot specify left, right, horizontalCenter, fill or centerIn anchors for items inside Row. Row will not function.")); - warningMessage.clear(); + QCOMPARE(messageHandler.messages().size(), 1); + QCOMPARE(messageHandler.messages().back(), QString("file::2:1: QML Row: Cannot specify left, right, horizontalCenter, fill or centerIn anchors for items inside Row. Row will not function.")); + messageHandler.clear(); delete item; component.setData("import QtQuick 2.0\nRow { Item { width: 100; height: 100; anchors.top: parent.top } }", QUrl::fromLocalFile("")); item = qobject_cast<QQuickItem*>(component.create()); QVERIFY(item); - QVERIFY(warningMessage.isEmpty()); - warningMessage.clear(); + QVERIFY2(messageHandler.messages().isEmpty(), qPrintable(messageHandler.messageString())); delete item; component.setData("import QtQuick 2.0\nGrid { Item { width: 100; height: 100; anchors.horizontalCenter: parent.horizontalCenter } }", QUrl::fromLocalFile("")); item = qobject_cast<QQuickItem*>(component.create()); QVERIFY(item); - QCOMPARE(warningMessage, QString("file::2:1: QML Grid: Cannot specify anchors for items inside Grid. Grid will not function.")); - warningMessage.clear(); + QCOMPARE(messageHandler.messages().size(), 1); + QCOMPARE(messageHandler.messages().back(), QString("file::2:1: QML Grid: Cannot specify anchors for items inside Grid. Grid will not function.")); + messageHandler.clear(); delete item; component.setData("import QtQuick 2.0\nGrid { Item { width: 100; height: 100; anchors.centerIn: parent } }", QUrl::fromLocalFile("")); item = qobject_cast<QQuickItem*>(component.create()); QVERIFY(item); - QCOMPARE(warningMessage, QString("file::2:1: QML Grid: Cannot specify anchors for items inside Grid. Grid will not function.")); - warningMessage.clear(); + QCOMPARE(messageHandler.messages().size(), 1); + QCOMPARE(messageHandler.messages().back(), QString("file::2:1: QML Grid: Cannot specify anchors for items inside Grid. Grid will not function.")); + messageHandler.clear(); delete item; component.setData("import QtQuick 2.0\nFlow { Item { width: 100; height: 100; anchors.verticalCenter: parent.verticalCenter } }", QUrl::fromLocalFile("")); item = qobject_cast<QQuickItem*>(component.create()); QVERIFY(item); - QCOMPARE(warningMessage, QString("file::2:1: QML Flow: Cannot specify anchors for items inside Flow. Flow will not function.")); + QCOMPARE(messageHandler.messages().size(), 1); + QCOMPARE(messageHandler.messages().back(), QString("file::2:1: QML Flow: Cannot specify anchors for items inside Flow. Flow will not function.")); + messageHandler.clear(); delete item; component.setData("import QtQuick 2.0\nFlow { width: 100; height: 100; Item { anchors.fill: parent } }", QUrl::fromLocalFile("")); item = qobject_cast<QQuickItem*>(component.create()); QVERIFY(item); - QCOMPARE(warningMessage, QString("file::2:1: QML Flow: Cannot specify anchors for items inside Flow. Flow will not function.")); - qInstallMessageHandler(oldMsgHandler); + QCOMPARE(messageHandler.messages().size(), 1); + QCOMPARE(messageHandler.messages().back(), QString("file::2:1: QML Flow: Cannot specify anchors for items inside Flow. Flow will not function.")); delete item; } diff --git a/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp b/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp index ea2ad71bfc..f8332d661d 100644 --- a/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp +++ b/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp @@ -2139,6 +2139,8 @@ void tst_qquicktextedit::positionAt() case QQuickTextEdit::AlignRight: xoff = texteditObject->width() - secondLine.naturalTextWidth(); break; + case QQuickTextEdit::AlignJustify: + break; } int pos = texteditObject->positionAt(texteditObject->width()/2, y0); diff --git a/tests/auto/quick/qquickview/tst_qquickview.cpp b/tests/auto/quick/qquickview/tst_qquickview.cpp index 94452b142b..aa20967fa3 100644 --- a/tests/auto/quick/qquickview/tst_qquickview.cpp +++ b/tests/auto/quick/qquickview/tst_qquickview.cpp @@ -195,9 +195,8 @@ void tst_QQuickView::errors() { QQuickView *view = new QQuickView; QVERIFY(view); - QtMessageHandler old = qInstallMessageHandler(silentErrorsMsgHandler); + QQmlTestMessageHandler messageHandler; view->setSource(testFileUrl("error1.qml")); - qInstallMessageHandler(old); QVERIFY(view->status() == QQuickView::Error); QVERIFY(view->errors().count() == 1); delete view; diff --git a/tests/auto/shared/util.cpp b/tests/auto/shared/util.cpp index 57c016a16a..eaefb1f9d6 100644 --- a/tests/auto/shared/util.cpp +++ b/tests/auto/shared/util.cpp @@ -46,6 +46,8 @@ #include <QtQml/QQmlContext> #include <QtQml/QQmlEngine> #include <QtCore/QTextStream> +#include <QtCore/QDebug> +#include <QtCore/QMutexLocker> QQmlDataTest *QQmlDataTest::m_instance = 0; @@ -107,3 +109,30 @@ QByteArray QQmlDataTest::msgComponentError(const QQmlComponent &c, } return result.toLocal8Bit(); } + +Q_GLOBAL_STATIC(QMutex, qQmlTestMessageHandlerMutex) + +QQmlTestMessageHandler *QQmlTestMessageHandler::m_instance = 0; + +void QQmlTestMessageHandler::messageHandler(QtMsgType, const QMessageLogContext &, const QString &message) +{ + QMutexLocker locker(qQmlTestMessageHandlerMutex()); + if (QQmlTestMessageHandler::m_instance) + QQmlTestMessageHandler::m_instance->m_messages.push_back(message); +} + +QQmlTestMessageHandler::QQmlTestMessageHandler() +{ + QMutexLocker locker(qQmlTestMessageHandlerMutex()); + Q_ASSERT(!QQmlTestMessageHandler::m_instance); + QQmlTestMessageHandler::m_instance = this; + m_oldHandler = qInstallMessageHandler(messageHandler); +} + +QQmlTestMessageHandler::~QQmlTestMessageHandler() +{ + QMutexLocker locker(qQmlTestMessageHandlerMutex()); + Q_ASSERT(QQmlTestMessageHandler::m_instance); + qInstallMessageHandler(m_oldHandler); + QQmlTestMessageHandler::m_instance = 0; +} diff --git a/tests/auto/shared/util.h b/tests/auto/shared/util.h index 4a5c9176c6..eff54b30d9 100644 --- a/tests/auto/shared/util.h +++ b/tests/auto/shared/util.h @@ -45,6 +45,7 @@ #include <QtCore/QDir> #include <QtCore/QUrl> #include <QtCore/QCoreApplication> +#include <QtCore/QStringList> #include <QtTest/QTest> QT_FORWARD_DECLARE_CLASS(QQmlComponent) @@ -87,4 +88,24 @@ private: QString m_directory; }; +class QQmlTestMessageHandler +{ + Q_DISABLE_COPY(QQmlTestMessageHandler) +public: + QQmlTestMessageHandler(); + ~QQmlTestMessageHandler(); + + const QStringList &messages() const { return m_messages; } + const QString messageString() const { return m_messages.join(QLatin1Char('\n')); } + + void clear() { m_messages.clear(); } + +private: + static void messageHandler(QtMsgType, const QMessageLogContext &, const QString &message); + + static QQmlTestMessageHandler *m_instance; + QStringList m_messages; + QtMessageHandler m_oldHandler; +}; + #endif // QQMLTESTUTILS_H diff --git a/tests/benchmarks/qml/holistic/data/largeTargets/mousearea-example.qml b/tests/benchmarks/qml/holistic/data/largeTargets/mousearea-example.qml index a865ae4163..9cd2236b28 100644 --- a/tests/benchmarks/qml/holistic/data/largeTargets/mousearea-example.qml +++ b/tests/benchmarks/qml/holistic/data/largeTargets/mousearea-example.qml @@ -90,7 +90,7 @@ Rectangle { MouseArea { anchors.fill: parent drag.target: blueSquare - drag.axis: Drag.XandYAxis + drag.axis: Drag.XAndYAxis drag.minimumX: 0 drag.maximumX: box.width - parent.width drag.minimumY: 0 diff --git a/tests/benchmarks/qml/js/qjsengine/tst_qjsengine.cpp b/tests/benchmarks/qml/js/qjsengine/tst_qjsengine.cpp index fb684685c3..587d9d47e9 100644 --- a/tests/benchmarks/qml/js/qjsengine/tst_qjsengine.cpp +++ b/tests/benchmarks/qml/js/qjsengine/tst_qjsengine.cpp @@ -43,9 +43,6 @@ #include <QtQml/qjsvalue.h> #include <QtQml/qjsengine.h> - -Q_DECLARE_METATYPE(QJSValue) - class tst_QJSEngine : public QObject { Q_OBJECT diff --git a/tests/benchmarks/qml/js/qjsvalue/tst_qjsvalue.cpp b/tests/benchmarks/qml/js/qjsvalue/tst_qjsvalue.cpp index 738bdf619a..7b2dc3a08d 100644 --- a/tests/benchmarks/qml/js/qjsvalue/tst_qjsvalue.cpp +++ b/tests/benchmarks/qml/js/qjsvalue/tst_qjsvalue.cpp @@ -43,8 +43,6 @@ #include <QtQml/qjsvalue.h> #include <QtQml/qjsengine.h> -Q_DECLARE_METATYPE(QJSValue) - class tst_QJSValue : public QObject { Q_OBJECT diff --git a/tests/benchmarks/script/qjsvalue/qjsvalue.pro b/tests/benchmarks/script/qjsvalue/qjsvalue.pro index 8600ab470a..7aa864c12f 100644 --- a/tests/benchmarks/script/qjsvalue/qjsvalue.pro +++ b/tests/benchmarks/script/qjsvalue/qjsvalue.pro @@ -1,7 +1,6 @@ CONFIG += testcase TEMPLATE = app TARGET = tst_bench_qjsvalue -DEPENDPATH += . INCLUDEPATH += . macx:CONFIG -= app_bundle CONFIG += release diff --git a/tests/manual/scenegraph_lancelot/data/images/transform.qml b/tests/manual/scenegraph_lancelot/data/images/transform.qml index be711ba80f..5a02724585 100644 --- a/tests/manual/scenegraph_lancelot/data/images/transform.qml +++ b/tests/manual/scenegraph_lancelot/data/images/transform.qml @@ -24,7 +24,7 @@ Rectangle { MouseArea { anchors.fill: parent drag.target: parent - drag.axis: Drag.XandYAxis + drag.axis: Drag.XAndYAxis drag.minimumX: 0 drag.maximumX: wooohooo.width - parent.width drag.minimumY: 0 diff --git a/tests/manual/scenegraph_lancelot/data/shaders/source/rect.qml b/tests/manual/scenegraph_lancelot/data/shaders/source/rect.qml index 46fa6f5583..e2a3ca7a0c 100644 --- a/tests/manual/scenegraph_lancelot/data/shaders/source/rect.qml +++ b/tests/manual/scenegraph_lancelot/data/shaders/source/rect.qml @@ -44,7 +44,7 @@ Item { MouseArea { anchors.fill: parent drag.target: parent - drag.axis: Drag.XandYAxis + drag.axis: Drag.XAndYAxis drag.minimumX: 0 drag.maximumX: parent.parent.width - width drag.minimumY: 0 |