1628 QCOMPARE(m_myObject->connectedSignal().constData(), SIGNAL(mySignalWithVariantArg(QVariant))); |
1628 QCOMPARE(m_myObject->connectedSignal().constData(), SIGNAL(mySignalWithVariantArg(QVariant))); |
1629 m_engine->evaluate("gotSignal = false"); |
1629 m_engine->evaluate("gotSignal = false"); |
1630 m_myObject->emitMySignalWithVariantArg(123); |
1630 m_myObject->emitMySignalWithVariantArg(123); |
1631 QCOMPARE(m_engine->evaluate("gotSignal").toBoolean(), true); |
1631 QCOMPARE(m_engine->evaluate("gotSignal").toBoolean(), true); |
1632 QCOMPARE(m_engine->evaluate("signalArgs.length").toNumber(), 1.0); |
1632 QCOMPARE(m_engine->evaluate("signalArgs.length").toNumber(), 1.0); |
|
1633 QCOMPARE(m_engine->evaluate("signalArgs[0]").toNumber(), 123.0); |
|
1634 QVERIFY(m_engine->evaluate("myObject.mySignalWithVariantArg.disconnect(myHandler)").isUndefined()); |
|
1635 |
|
1636 // signal with argument type that's unknown to the meta-type system |
|
1637 m_myObject->clearConnectedSignal(); |
|
1638 QVERIFY(m_engine->evaluate("myObject.mySignalWithScriptEngineArg.connect(myHandler)").isUndefined()); |
|
1639 QCOMPARE(m_myObject->connectedSignal().constData(), SIGNAL(mySignalWithScriptEngineArg(QScriptEngine*))); |
|
1640 m_engine->evaluate("gotSignal = false"); |
|
1641 QTest::ignoreMessage(QtWarningMsg, "QScriptEngine: Unable to handle unregistered datatype 'QScriptEngine*' when invoking handler of signal MyQObject::mySignalWithScriptEngineArg(QScriptEngine*)"); |
|
1642 m_myObject->emitMySignalWithScriptEngineArg(m_engine); |
|
1643 QCOMPARE(m_engine->evaluate("gotSignal").toBoolean(), true); |
|
1644 QCOMPARE(m_engine->evaluate("signalArgs.length").toNumber(), 1.0); |
|
1645 QVERIFY(m_engine->evaluate("signalArgs[0]").isUndefined()); |
|
1646 QVERIFY(m_engine->evaluate("myObject.mySignalWithScriptEngineArg.disconnect(myHandler)").isUndefined()); |
|
1647 |
|
1648 // signal with QVariant arg: argument conversion should work |
|
1649 m_myObject->clearConnectedSignal(); |
|
1650 QVERIFY(m_engine->evaluate("myObject.mySignalWithVariantArg.connect(myHandler)").isUndefined()); |
|
1651 QCOMPARE(m_myObject->connectedSignal().constData(), SIGNAL(mySignalWithVariantArg(QVariant))); |
|
1652 m_engine->evaluate("gotSignal = false"); |
|
1653 m_myObject->emitMySignalWithVariantArg(123); |
|
1654 QCOMPARE(m_engine->evaluate("gotSignal").toBoolean(), true); |
|
1655 QCOMPARE(m_engine->evaluate("signalArgs.length").toNumber(), 1.0); |
1633 QVERIFY(m_engine->evaluate("signalArgs[0]").isNumber()); |
1656 QVERIFY(m_engine->evaluate("signalArgs[0]").isNumber()); |
1634 QCOMPARE(m_engine->evaluate("signalArgs[0]").toNumber(), 123.0); |
1657 QCOMPARE(m_engine->evaluate("signalArgs[0]").toNumber(), 123.0); |
1635 QVERIFY(m_engine->evaluate("myObject.mySignalWithVariantArg.disconnect(myHandler)").isUndefined()); |
1658 QVERIFY(m_engine->evaluate("myObject.mySignalWithVariantArg.disconnect(myHandler)").isUndefined()); |
1636 |
1659 |
1637 // signal with argument type that's unknown to the meta-type system |
1660 // signal with argument type that's unknown to the meta-type system |