Adapt to QMetaMethod::typeName() behavioral change for "void"
QMetaMethod::typeName() has been changed to return "void", rather than an empty string, when the return type is void. Change-Id: Ifc903ba60a06ffaefe27c94fe629698d64904d94 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
This commit is contained in:
parent
392b078c78
commit
c3babc03c9
|
@ -196,10 +196,11 @@ void QQmlPropertyData::lazyLoad(const QMetaMethod &m)
|
|||
flags |= IsFunction;
|
||||
if (m.methodType() == QMetaMethod::Signal)
|
||||
flags |= IsSignal;
|
||||
propType = QVariant::Invalid;
|
||||
propType = QMetaType::Void;
|
||||
|
||||
const char *returnType = m.typeName();
|
||||
if (returnType && *returnType) {
|
||||
Q_ASSERT(returnType != 0);
|
||||
if ((*returnType != 'v') || (qstrcmp(returnType+1, "oid") != 0)) {
|
||||
propTypeName = returnType;
|
||||
flags |= NotFullyResolved;
|
||||
}
|
||||
|
|
|
@ -251,7 +251,7 @@ void tst_QQmlMetaObject::property()
|
|||
QCOMPARE(signal.parameterTypes(), QList<QByteArray>());
|
||||
QCOMPARE(signal.parameterNames(), QList<QByteArray>());
|
||||
QCOMPARE(signal.tag(), "");
|
||||
QCOMPARE(signal.typeName(), "");
|
||||
QCOMPARE(signal.typeName(), "void");
|
||||
QCOMPARE(signal.returnType(), int(QMetaType::Void));
|
||||
|
||||
QSignalSpy changedSpy(object, SIGNAL(testChanged()));
|
||||
|
@ -310,42 +310,42 @@ void tst_QQmlMetaObject::method_data()
|
|||
QTest::newRow("testSignal") << "signal.1.qml"
|
||||
<< "testSignal()"
|
||||
<< QMetaMethod::Signal
|
||||
<< int(QMetaType::Void) << ""
|
||||
<< int(QMetaType::Void) << "void"
|
||||
<< QList<int>()
|
||||
<< QList<QByteArray>()
|
||||
<< QList<QByteArray>();
|
||||
QTest::newRow("testSignal(string foo)") << "signal.2.qml"
|
||||
<< "testSignal(QString)"
|
||||
<< QMetaMethod::Signal
|
||||
<< int(QMetaType::Void) << ""
|
||||
<< int(QMetaType::Void) << "void"
|
||||
<< (QList<int>() << QMetaType::QString)
|
||||
<< (QList<QByteArray>() << "QString")
|
||||
<< (QList<QByteArray>() << "foo");
|
||||
QTest::newRow("testSignal(int foo, bool bar, real baz)") << "signal.3.qml"
|
||||
<< "testSignal(int,bool,double)"
|
||||
<< QMetaMethod::Signal
|
||||
<< int(QMetaType::Void) << ""
|
||||
<< int(QMetaType::Void) << "void"
|
||||
<< (QList<int>() << QMetaType::Int << QMetaType::Bool << QMetaType::Double)
|
||||
<< (QList<QByteArray>() << "int" << "bool" << "double")
|
||||
<< (QList<QByteArray>() << "foo" << "bar" << "baz");
|
||||
QTest::newRow("testSignal(variant foo, var bar)") << "signal.4.qml"
|
||||
<< "testSignal(QVariant,QVariant)"
|
||||
<< QMetaMethod::Signal
|
||||
<< int(QMetaType::Void) << ""
|
||||
<< int(QMetaType::Void) << "void"
|
||||
<< (QList<int>() << QMetaType::QVariant << QMetaType::QVariant)
|
||||
<< (QList<QByteArray>() << "QVariant" << "QVariant")
|
||||
<< (QList<QByteArray>() << "foo" << "bar");
|
||||
QTest::newRow("testSignal(color foo, date bar, url baz)") << "signal.5.qml"
|
||||
<< "testSignal(QColor,QDateTime,QUrl)"
|
||||
<< QMetaMethod::Signal
|
||||
<< int(QMetaType::Void) << ""
|
||||
<< int(QMetaType::Void) << "void"
|
||||
<< (QList<int>() << QMetaType::QColor << QMetaType::QDateTime << QMetaType::QUrl)
|
||||
<< (QList<QByteArray>() << "QColor" << "QDateTime" << "QUrl")
|
||||
<< (QList<QByteArray>() << "foo" << "bar" << "baz");
|
||||
QTest::newRow("testSignal(double foo)") << "signal.6.qml"
|
||||
<< "testSignal(double)"
|
||||
<< QMetaMethod::Signal
|
||||
<< int(QMetaType::Void) << ""
|
||||
<< int(QMetaType::Void) << "void"
|
||||
<< (QList<int>() << QMetaType::Double)
|
||||
<< (QList<QByteArray>() << "double")
|
||||
<< (QList<QByteArray>() << "foo");
|
||||
|
|
Loading…
Reference in New Issue