tests/benchmarks/script/qscriptvalue/tst_qscriptvalue.cpp
changeset 19 fcece45ef507
parent 18 2f34d5167611
--- 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"