tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp
changeset 3 41300fa6a67c
parent 0 1918ee327afb
child 4 3b1da2848fc7
equal deleted inserted replaced
2:56cd8111b7f7 3:41300fa6a67c
  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