Add additional binding benchmarks

Change-Id: I82b2a099553e28ac004f0425d1544fbcb10c28c6
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
This commit is contained in:
Maximilian Goldstein 2021-02-15 17:11:47 +01:00
parent c71c48f512
commit c603d30887
8 changed files with 1360 additions and 0 deletions

View File

@ -0,0 +1,13 @@
#!/bin/bash
REPEAT_TIMES=100
to_repeat=$(cat $1)
echo -e "import QtQuick 2.15\nimport Test 1.0\n\nMyQmlObject {\nid: qmlObject\nresult: ###\n\n" > $2
for x in $(seq 1 $REPEAT_TIMES); do
echo "$to_repeat" >> $2;
done
echo -e "}\n" >> $2

View File

@ -0,0 +1,4 @@
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}

View File

@ -0,0 +1,410 @@
import QtQuick 2.15
import Test 1.0
MyQmlObject {
id: qmlObject
result: ###
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
Item {
function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10)
}
}

View File

@ -0,0 +1,6 @@
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}

View File

@ -0,0 +1,610 @@
import QtQuick 2.15
import Test 1.0
MyQmlObject {
id: qmlObject
result: ###
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
Item {
width: qmlObject.value
height: width + 10
x: width / height
y: x + width + height
}
}

View File

@ -0,0 +1,3 @@
Item {
width: qmlObject.value
}

View File

@ -0,0 +1,310 @@
import QtQuick 2.15
import Test 1.0
MyQmlObject {
id: qmlObject
result: ###
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
Item {
width: qmlObject.value
}
}

View File

@ -122,6 +122,10 @@ void tst_binding::basicproperty_data()
QTest::addColumn<QString>("file");
QTest::addColumn<QString>("binding");
QTest::newRow("value (repeated)") << SRCDIR "/data/repeated.plain.out.txt" << "value";
QTest::newRow("value (repeated multiple)") << SRCDIR "/data/repeated.multiple.out.txt" << "value";
QTest::newRow("value (repeated branch)") << SRCDIR "/data/repeated.branch.out.txt" << "value";
QTest::newRow("value") << SRCDIR "/data/localproperty.txt" << "value";
QTest::newRow("value + 10") << SRCDIR "/data/localproperty.txt" << "value + 10";
QTest::newRow("value + value + 10") << SRCDIR "/data/localproperty.txt" << "value + value + 10";