summaryrefslogtreecommitdiff
path: root/tests/benchmarks/qml/javascript/tst_javascript.cpp
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@qt.io>2021-11-10 18:41:52 +0100
committerEdward Welbourne <edward.welbourne@qt.io>2021-11-23 18:12:30 +0100
commit9fd8c28bb380e920b8561802afc7258198ec7552 (patch)
tree07ca729214359342fae910f4d7cf7cdb40d22f43 /tests/benchmarks/qml/javascript/tst_javascript.cpp
parentc8f967f547e30cbf88666c877d3a9d00abfff842 (diff)
downloadqtdeclarative-9fd8c28bb380e920b8561802afc7258198ec7552.tar.gz
Clean up tst_javascript
Inline the trivial constructor. Get rid of the pointless destructor. Use QDirIterator instead of QDir, to save collecting a bunch of strings, only to iterate them, when we could simply iterate them. Use QDirIterator::filePath() instead of adding fragments ourselves. Use u"*.qml"_qs instead of constructing QString from ASCII. Use QString::chopped(4) rather than left(size() - 4). Use QScopedPointer to ensure tidy-up of allocated object. Don't use 0 as a null pointer value. Waste less vertical space. Change-Id: I44f62f4e41f63de860f47114b2f47dddbf9746bc Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'tests/benchmarks/qml/javascript/tst_javascript.cpp')
-rw-r--r--tests/benchmarks/qml/javascript/tst_javascript.cpp55
1 files changed, 15 insertions, 40 deletions
diff --git a/tests/benchmarks/qml/javascript/tst_javascript.cpp b/tests/benchmarks/qml/javascript/tst_javascript.cpp
index c839144d7f..7eda96b77f 100644
--- a/tests/benchmarks/qml/javascript/tst_javascript.cpp
+++ b/tests/benchmarks/qml/javascript/tst_javascript.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the test suite of the Qt Toolkit.
@@ -26,9 +26,9 @@
**
****************************************************************************/
-#include <QDir>
+#include <QDirIterator>
#include <QDebug>
-#include <qtest.h>
+#include <QTest>
#include <QQmlEngine>
#include <QQmlComponent>
@@ -39,8 +39,7 @@ class tst_javascript : public QObject
Q_OBJECT
public:
- tst_javascript();
- virtual ~tst_javascript();
+ tst_javascript() { registerTypes(); }
private slots:
void run_data();
@@ -50,59 +49,35 @@ private:
QQmlEngine engine;
};
-tst_javascript::tst_javascript()
-{
- registerTypes();
-}
-
-tst_javascript::~tst_javascript()
-{
-}
-
void tst_javascript::run_data()
{
QTest::addColumn<QString>("file");
-
- QDir dir(SRCDIR "/data");
-
- QStringList files = dir.entryList(QDir::Files | QDir::NoDotAndDotDot);
-
- for (int ii = 0; ii < files.count(); ++ii) {
- QString file = files.at(ii);
- if (file.endsWith(".qml") && file.at(0).isLower()) {
-
- QString testName = file.left(file.length() - 4 /* strlen(".qml") */);
- QString fileName = QLatin1String(SRCDIR) + QLatin1String("/data/") + file;
-
-
- QTest::newRow(qPrintable(testName)) << fileName;
-
- }
+ QDirIterator listing(SRCDIR "/data", QStringList{u"*.qml"_qs},
+ QDir::Files | QDir::NoDotAndDotDot);
+ while (listing.hasNext()) {
+ auto info = listing.nextFileInfo();
+ const QString base = info.baseName();
+ if (!base.isEmpty() && base.at(0).isLower())
+ QTest::newRow(qPrintable(base)) << info.filePath();
}
}
void tst_javascript::run()
{
QFETCH(QString, file);
-
QQmlComponent c(&engine, file);
- if (c.isError()) {
+ if (c.isError())
qWarning() << c.errors();
- }
-
QVERIFY(!c.isError());
- QObject *o = c.create();
- QVERIFY(o != 0);
-
+ QScopedPointer<QObject> o(c.create());
+ QVERIFY(o);
QMetaMethod method = o->metaObject()->method(o->metaObject()->indexOfMethod("runtest()"));
QBENCHMARK {
- method.invoke(o);
+ method.invoke(o.get());
}
-
- delete o;
}
QTEST_MAIN(tst_javascript)