diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-11-10 07:18:03 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-11-10 07:18:03 (GMT) |
commit | 606e15215b33b51a4bc716654388b8e9eaa647e6 (patch) | |
tree | b786af92424c752ddc5fd130844281558ce17995 /tests/auto/qscriptclass/tst_qscriptclass.cpp | |
parent | 9bc46788f3b0f4a652be604d3facbcd84602677a (diff) | |
parent | 2c7bab684fa9684175b9a6c913a20a76f3502d08 (diff) | |
download | Qt-606e15215b33b51a4bc716654388b8e9eaa647e6.zip Qt-606e15215b33b51a4bc716654388b8e9eaa647e6.tar.gz Qt-606e15215b33b51a4bc716654388b8e9eaa647e6.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1:
Clear X11 structure before use
Make operator QRectF const
Fix GC-related crash in QScriptValue::setData()
get rid of dependency on QtGui
Removed implicity QtGui linking from icd.pro as it is not needed.
DFB: Make sure QPixmap::hasAlpha is respected
fix build on mingw
Fix some painting issues in QDirectFBPaintEngine
QNAM: Do not need QNetworkSession in AlwaysCache load mode
Don't crash if QScriptClass property getter returns an invalid value
QNAM: Remove dead waitForUpstreamBytesWritten() code
QNAM: Remove dead waitForDownstreamReadyRead() code
fix memleak in test
Diffstat (limited to 'tests/auto/qscriptclass/tst_qscriptclass.cpp')
-rw-r--r-- | tests/auto/qscriptclass/tst_qscriptclass.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/auto/qscriptclass/tst_qscriptclass.cpp b/tests/auto/qscriptclass/tst_qscriptclass.cpp index b4dbe73..da6c76f 100644 --- a/tests/auto/qscriptclass/tst_qscriptclass.cpp +++ b/tests/auto/qscriptclass/tst_qscriptclass.cpp @@ -66,6 +66,7 @@ public: private slots: void newInstance(); void getAndSetProperty(); + void getProperty_invalidValue(); void enumerate(); void extension(); }; @@ -741,6 +742,26 @@ void tst_QScriptClass::getAndSetProperty() QVERIFY(!obj1.property(bar).isValid()); } +void tst_QScriptClass::getProperty_invalidValue() +{ + QScriptEngine eng; + TestClass cls(&eng); + cls.addCustomProperty(eng.toStringHandle("foo"), QScriptClass::HandlesReadAccess, + /*id=*/0, QScriptValue::ReadOnly, QScriptValue()); + QScriptValue obj = eng.newObject(&cls); + + QVERIFY(obj.property("foo").isUndefined()); + + eng.globalObject().setProperty("obj", obj); + QVERIFY(eng.evaluate("obj.hasOwnProperty('foo'))").toBool()); + // The JS environment expects that a valid value is returned, + // otherwise we could crash. + QVERIFY(eng.evaluate("obj.foo").isUndefined()); + QVERIFY(eng.evaluate("obj.foo + ''").isString()); + QVERIFY(eng.evaluate("Object.getOwnPropertyDescriptor(obj, 'foo').value").isUndefined()); + QVERIFY(eng.evaluate("Object.getOwnPropertyDescriptor(obj, 'foo').value +''").isString()); +} + void tst_QScriptClass::enumerate() { QScriptEngine eng; |