diff options
author | Kent Hansen <khansen@trolltech.com> | 2009-08-19 13:26:24 (GMT) |
---|---|---|
committer | Kent Hansen <khansen@trolltech.com> | 2009-08-19 13:26:24 (GMT) |
commit | b3796a7b72a8a9aa617c8fd2a64202f3a81fd57f (patch) | |
tree | cdbf83a0a2e52c9cea9865a9004bb36de1cb34b5 | |
parent | 20c82fb4323c29082c2c59c5d35b942581ea02d8 (diff) | |
download | Qt-b3796a7b72a8a9aa617c8fd2a64202f3a81fd57f.zip Qt-b3796a7b72a8a9aa617c8fd2a64202f3a81fd57f.tar.gz Qt-b3796a7b72a8a9aa617c8fd2a64202f3a81fd57f.tar.bz2 |
add test to make sure a JavaScript object's ID persists
Even if the QScriptValue is destroyed, the underlying ID should
not change; e.g. if a new QScriptValue is created and wraps the
same object, the ID should be the same as before.
-rw-r--r-- | tests/auto/qscriptvalue/tst_qscriptvalue.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp index 87aa896..4b8dadd 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp @@ -3304,6 +3304,16 @@ void tst_QScriptValue::objectId() QVERIFY(eng.objectById(o1.objectId()).strictlyEquals(o1)); QVERIFY(eng.objectById(o2.objectId()).strictlyEquals(o2)); + + qint64 globalObjectId = -1; + { + QScriptValue global = eng.globalObject(); + globalObjectId = global.objectId(); + QVERIFY(globalObjectId != -1); + QVERIFY(eng.objectById(globalObjectId).strictlyEquals(global)); + } + QEXPECT_FAIL("", "In JSC back-end, the Global Object's ID does not persist", Continue); + QVERIFY(eng.objectById(globalObjectId).strictlyEquals(eng.globalObject())); } QTEST_MAIN(tst_QScriptValue) |