aboutsummaryrefslogtreecommitdiffstats
path: root/tests/benchmarks
diff options
context:
space:
mode:
Diffstat (limited to 'tests/benchmarks')
-rw-r--r--tests/benchmarks/declarative/binding/data/creation.txt9
-rw-r--r--tests/benchmarks/declarative/binding/data/objectproperty.txt1
-rw-r--r--tests/benchmarks/declarative/binding/tst_binding.cpp28
3 files changed, 38 insertions, 0 deletions
diff --git a/tests/benchmarks/declarative/binding/data/creation.txt b/tests/benchmarks/declarative/binding/data/creation.txt
new file mode 100644
index 0000000000..05704fa341
--- /dev/null
+++ b/tests/benchmarks/declarative/binding/data/creation.txt
@@ -0,0 +1,9 @@
+import Test 1.0
+
+MyQmlObject {
+ id: myObject
+ property int myValue: 1
+ object: myObject
+
+ result: ###
+}
diff --git a/tests/benchmarks/declarative/binding/data/objectproperty.txt b/tests/benchmarks/declarative/binding/data/objectproperty.txt
index 6133dd648b..06409f2dd1 100644
--- a/tests/benchmarks/declarative/binding/data/objectproperty.txt
+++ b/tests/benchmarks/declarative/binding/data/objectproperty.txt
@@ -2,6 +2,7 @@ import Test 1.0
MyQmlObject {
id: myObject
+ object: myObject
result: ###
}
diff --git a/tests/benchmarks/declarative/binding/tst_binding.cpp b/tests/benchmarks/declarative/binding/tst_binding.cpp
index b1306527aa..d9ab06a537 100644
--- a/tests/benchmarks/declarative/binding/tst_binding.cpp
+++ b/tests/benchmarks/declarative/binding/tst_binding.cpp
@@ -41,6 +41,7 @@
#include <qtest.h>
#include <QDeclarativeEngine>
+#include <QDeclarativeContext>
#include <QDeclarativeComponent>
#include <QFile>
#include <QDebug>
@@ -70,9 +71,12 @@ private slots:
void objectproperty();
void basicproperty_data();
void basicproperty();
+ void creation_data();
+ void creation();
private:
QDeclarativeEngine engine;
+ MyQmlObject tstObject;
};
tst_binding::tst_binding()
@@ -86,6 +90,7 @@ tst_binding::~tst_binding()
void tst_binding::initTestCase()
{
registerTypes();
+ engine.rootContext()->setContextProperty("tstObject", &tstObject);
}
void tst_binding::cleanupTestCase()
@@ -162,5 +167,28 @@ void tst_binding::basicproperty()
}
}
+void tst_binding::creation_data()
+{
+ QTest::addColumn<QString>("file");
+ QTest::addColumn<QString>("binding");
+
+ QTest::newRow("constant") << SRCDIR "/data/creation.txt" << "10";
+ QTest::newRow("ownProperty") << SRCDIR "/data/creation.txt" << "myObject.value";
+ QTest::newRow("declaredProperty") << SRCDIR "/data/creation.txt" << "myObject.myValue";
+ QTest::newRow("contextProperty") << SRCDIR "/data/creation.txt" << "tstObject.value";
+}
+
+void tst_binding::creation()
+{
+ QFETCH(QString, file);
+ QFETCH(QString, binding);
+
+ COMPONENT(file, binding);
+
+ QBENCHMARK {
+ c.create();
+ }
+}
+
QTEST_MAIN(tst_binding)
#include "tst_binding.moc"