summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2010-04-09 08:19:06 (GMT)
committerAaron Kennedy <aaron.kennedy@nokia.com>2010-04-09 08:19:06 (GMT)
commitcf6f2eb2ccd1675d890904d12c9717e4570b123b (patch)
treefe7fac37c271acace3c2c4d6ff887116cebafabe /tests/auto
parent3d90e35abae15f133ad2a71874f6926773c96449 (diff)
downloadQt-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')
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/variantsAssignedUndefined.qml9
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp20
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"