diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2010-04-09 08:19:06 (GMT) |
---|---|---|
committer | Aaron Kennedy <aaron.kennedy@nokia.com> | 2010-04-09 08:19:06 (GMT) |
commit | cf6f2eb2ccd1675d890904d12c9717e4570b123b (patch) | |
tree | fe7fac37c271acace3c2c4d6ff887116cebafabe /tests/auto/declarative | |
parent | 3d90e35abae15f133ad2a71874f6926773c96449 (diff) | |
download | Qt-cf6f2eb2ccd1675d890904d12c9717e4570b123b.zip Qt-cf6f2eb2ccd1675d890904d12c9717e4570b123b.tar.gz Qt-cf6f2eb2ccd1675d890904d12c9717e4570b123b.tar.bz2 |
Allow undefined to be assigned to QVariant properties
QTBUG-9704
Diffstat (limited to 'tests/auto/declarative')
-rw-r--r-- | tests/auto/declarative/qdeclarativeecmascript/data/variantsAssignedUndefined.qml | 9 | ||||
-rw-r--r-- | tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp | 20 |
2 files changed, 29 insertions, 0 deletions
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/variantsAssignedUndefined.qml b/tests/auto/declarative/qdeclarativeecmascript/data/variantsAssignedUndefined.qml new file mode 100644 index 0000000..5488e1a --- /dev/null +++ b/tests/auto/declarative/qdeclarativeecmascript/data/variantsAssignedUndefined.qml @@ -0,0 +1,9 @@ +import Qt 4.6 + +QtObject { + property bool runTest: false + onRunTestChanged: test1 = undefined + + property variant test1: 10 + property variant test2: (runTest == false)?11:undefined +} diff --git a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp index d886e83..c9fb116 100644 --- a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp +++ b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp @@ -140,6 +140,7 @@ private slots: void nullObjectBinding(); void deletedEngine(); void libraryScriptAssert(); + void variantsAssignedUndefined(); void callQtInvokables(); private: @@ -2191,6 +2192,25 @@ void tst_qdeclarativeecmascript::libraryScriptAssert() delete object; } +void tst_qdeclarativeecmascript::variantsAssignedUndefined() +{ + QDeclarativeComponent component(&engine, TEST_FILE("variantsAssignedUndefined.qml")); + + QObject *object = component.create(); + QVERIFY(object != 0); + + QCOMPARE(object->property("test1").toInt(), 10); + QCOMPARE(object->property("test2").toInt(), 11); + + object->setProperty("runTest", true); + + QCOMPARE(object->property("test1"), QVariant()); + QCOMPARE(object->property("test2"), QVariant()); + + + delete object; +} + QTEST_MAIN(tst_qdeclarativeecmascript) #include "tst_qdeclarativeecmascript.moc" |