diff -r 2f34d5167611 -r fcece45ef507 tests/benchmarks/script/qscriptvalue/tst_qscriptvalue.cpp --- a/tests/benchmarks/script/qscriptvalue/tst_qscriptvalue.cpp Fri Apr 16 15:50:13 2010 +0300 +++ b/tests/benchmarks/script/qscriptvalue/tst_qscriptvalue.cpp Mon May 03 13:17:34 2010 +0300 @@ -69,6 +69,8 @@ void property(); void setProperty(); void propertyFlags(); + void readMetaProperty(); + void writeMetaProperty(); }; tst_QScriptValue::tst_QScriptValue() @@ -201,5 +203,28 @@ } } +void tst_QScriptValue::readMetaProperty() +{ + QScriptEngine engine; + QScriptValue object = engine.newQObject(QCoreApplication::instance()); + QScriptString propertyName = engine.toStringHandle("objectName"); + QBENCHMARK { + for (int i = 0; i < 10000; ++i) + object.property(propertyName); + } +} + +void tst_QScriptValue::writeMetaProperty() +{ + QScriptEngine engine; + QScriptValue object = engine.newQObject(QCoreApplication::instance()); + QScriptString propertyName = engine.toStringHandle("objectName"); + QScriptValue value(&engine, "foo"); + QBENCHMARK { + for (int i = 0; i < 10000; ++i) + object.setProperty(propertyName, value); + } +} + QTEST_MAIN(tst_QScriptValue) #include "tst_qscriptvalue.moc"