tests/benchmarks/qscriptengine/tst_qscriptengine.cpp
changeset 3 41300fa6a67c
parent 0 1918ee327afb
child 4 3b1da2848fc7
equal deleted inserted replaced
2:56cd8111b7f7 3:41300fa6a67c
    58 
    58 
    59 private slots:
    59 private slots:
    60     void constructor();
    60     void constructor();
    61     void evaluate_data();
    61     void evaluate_data();
    62     void evaluate();
    62     void evaluate();
       
    63     void evaluateProgram_data();
       
    64     void evaluateProgram();
    63     void connectAndDisconnect();
    65     void connectAndDisconnect();
    64     void newObject();
    66     void newObject();
    65     void newQObject();
    67     void newQObject();
    66     void newFunction();
    68     void newFunction();
    67     void newVariant();
    69     void newVariant();
    68     void collectGarbage();
    70     void collectGarbage();
    69     void pushAndPopContext();
    71     void pushAndPopContext();
    70     void toStringHandle();
    72     void toStringHandle();
    71     void castValueToQreal();
    73     void castValueToQreal();
    72     void nativeCall();
    74     void nativeCall();
       
    75     void translation_data();
       
    76     void translation();
    73 };
    77 };
    74 
    78 
    75 tst_QScriptEngine::tst_QScriptEngine()
    79 tst_QScriptEngine::tst_QScriptEngine()
    76 {
    80 {
    77 }
    81 }
   151         qScriptConnect(&engine, SIGNAL(destroyed()), QScriptValue(), fun);
   155         qScriptConnect(&engine, SIGNAL(destroyed()), QScriptValue(), fun);
   152         qScriptDisconnect(&engine, SIGNAL(destroyed()), QScriptValue(), fun);
   156         qScriptDisconnect(&engine, SIGNAL(destroyed()), QScriptValue(), fun);
   153     }
   157     }
   154 }
   158 }
   155 
   159 
       
   160 void tst_QScriptEngine::evaluateProgram_data()
       
   161 {
       
   162     evaluate_data();
       
   163 }
       
   164 
       
   165 void tst_QScriptEngine::evaluateProgram()
       
   166 {
       
   167     QFETCH(QString, code);
       
   168     QScriptEngine engine;
       
   169     QScriptProgram program(code);
       
   170 
       
   171     QBENCHMARK {
       
   172         (void)engine.evaluate(program);
       
   173     }
       
   174 }
       
   175 
   156 void tst_QScriptEngine::newObject()
   176 void tst_QScriptEngine::newObject()
   157 {
   177 {
   158     QScriptEngine engine;
   178     QScriptEngine engine;
   159     QBENCHMARK {
   179     QBENCHMARK {
   160         (void)engine.newObject();
   180         (void)engine.newObject();
   239         eng.evaluate("var w = 0; for (i = 0; i < 100000; ++i) {\n"
   259         eng.evaluate("var w = 0; for (i = 0; i < 100000; ++i) {\n"
   240                      "  w += fun() + fun(); w -= fun(); fun(); w -= fun(); }");
   260                      "  w += fun() + fun(); w -= fun(); fun(); w -= fun(); }");
   241     }
   261     }
   242 }
   262 }
   243 
   263 
       
   264 void tst_QScriptEngine::translation_data()
       
   265 {
       
   266     QTest::addColumn<QString>("text");
       
   267     QTest::newRow("no translation") << "\"hello world\"";
       
   268     QTest::newRow("qsTr") << "qsTr(\"hello world\")";
       
   269     QTest::newRow("qsTranslate") << "qsTranslate(\"\", \"hello world\")";
       
   270 }
       
   271 
       
   272 void tst_QScriptEngine::translation()
       
   273 {
       
   274     QFETCH(QString, text);
       
   275     QScriptEngine engine;
       
   276     engine.installTranslatorFunctions();
       
   277 
       
   278     QBENCHMARK {
       
   279         (void)engine.evaluate(text);
       
   280     }
       
   281 }
   244 
   282 
   245 QTEST_MAIN(tst_QScriptEngine)
   283 QTEST_MAIN(tst_QScriptEngine)
   246 #include "tst_qscriptengine.moc"
   284 #include "tst_qscriptengine.moc"