aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorRon Hashimoto <mail@h2so5.net>2015-05-12 11:22:26 +0900
committerLars Knoll <lars.knoll@theqtcompany.com>2015-09-25 08:39:46 +0000
commitc47dacde0ba4a97f5eed9dc345f8c1450000082f (patch)
tree92bd0cfa55acd399c3cb8b451308362b07877925 /tests
parentd5d9c3097a151c774e9da476dc9131b69a7cb03d (diff)
V4: Fix SparseArray::deleteNode
SparseArray::deleteNode should modify size_left only if the deleted node had a right child Change-Id: I0f3504a5c6568dbd9e392bf83eaf3f9780eb2b84 Task-number: QTBUG-46022 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qml/qqmlecmascript/data/qtbug_46022.js21
-rw-r--r--tests/auto/qml/qqmlecmascript/data/qtbug_46022.qml7
-rw-r--r--tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp11
3 files changed, 39 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmlecmascript/data/qtbug_46022.js b/tests/auto/qml/qqmlecmascript/data/qtbug_46022.js
new file mode 100644
index 0000000000..385d7f9e97
--- /dev/null
+++ b/tests/auto/qml/qqmlecmascript/data/qtbug_46022.js
@@ -0,0 +1,21 @@
+var obj = {}
+obj[5289] = 0
+obj[5290] = 0
+obj[5288] = 0
+obj[5287] = 0
+delete obj[5288]
+
+var a = Object.getOwnPropertyNames(obj)
+var test1 = a.every(function(key) {
+ return obj.hasOwnProperty(key)
+})
+
+obj = {}
+obj[8187] = 0
+obj[8188] = 0
+delete obj[8187]
+
+var b = Object.getOwnPropertyNames(obj)
+var test2 = b.every(function(key) {
+ return obj.hasOwnProperty(key)
+})
diff --git a/tests/auto/qml/qqmlecmascript/data/qtbug_46022.qml b/tests/auto/qml/qqmlecmascript/data/qtbug_46022.qml
new file mode 100644
index 0000000000..2d2375de3e
--- /dev/null
+++ b/tests/auto/qml/qqmlecmascript/data/qtbug_46022.qml
@@ -0,0 +1,7 @@
+import "qtbug_46022.js" as Test
+import QtQuick 2.0
+
+QtObject {
+ property bool test1: Test.test1
+ property bool test2: Test.test2
+}
diff --git a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
index 222e594d1a..8fc79719d5 100644
--- a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
+++ b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
@@ -326,6 +326,7 @@ private slots:
void readUnregisteredQObjectProperty();
void writeUnregisteredQObjectProperty();
void switchExpression();
+ void qtbug_46022();
private:
// static void propertyVarWeakRefCallback(v8::Persistent<v8::Value> object, void* parameter);
@@ -7878,6 +7879,16 @@ void tst_qqmlecmascript::switchExpression()
QCOMPARE(v.toBool(), true);
}
+void tst_qqmlecmascript::qtbug_46022()
+{
+ QQmlComponent component(&engine, testFileUrl("qtbug_46022.qml"));
+
+ QScopedPointer<QObject> obj(component.create());
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->property("test1").toBool(), true);
+ QCOMPARE(obj->property("test2").toBool(), true);
+}
+
QTEST_MAIN(tst_qqmlecmascript)
#include "tst_qqmlecmascript.moc"