diff options
Diffstat (limited to 'tests/benchmarks/declarative/binding/tst_binding.cpp')
-rw-r--r-- | tests/benchmarks/declarative/binding/tst_binding.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
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" |