Skip to content

Latest commit

 

History

History
123 lines (97 loc) · 3.08 KB

tst_javascript.cpp

File metadata and controls

123 lines (97 loc) · 3.08 KB
 
Jun 10, 2011
Jun 10, 2011
1
2
/****************************************************************************
**
Jan 5, 2012
Jan 5, 2012
3
** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
Jan 23, 2012
Jan 23, 2012
4
** Contact: http://www.qt-project.org/
Jun 10, 2011
Jun 10, 2011
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
**
** This file is part of the test suite of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
Jan 30, 2012
Jan 30, 2012
37
**
Jun 10, 2011
Jun 10, 2011
38
39
40
41
42
43
44
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QDir>
#include <QDebug>
#include <qtest.h>
Feb 24, 2012
Feb 24, 2012
45
46
#include <QQmlEngine>
#include <QQmlComponent>
Jun 10, 2011
Jun 10, 2011
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include "testtypes.h"
class tst_javascript : public QObject
{
Q_OBJECT
public:
tst_javascript();
virtual ~tst_javascript();
private slots:
void run_data();
void run();
private:
Feb 24, 2012
Feb 24, 2012
63
QQmlEngine engine;
Jun 10, 2011
Jun 10, 2011
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
};
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;
}
}
}
void tst_javascript::run()
{
QFETCH(QString, file);
Feb 24, 2012
Feb 24, 2012
101
QQmlComponent c(&engine, file);
Jun 10, 2011
Jun 10, 2011
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
if (c.isError()) {
qWarning() << c.errors();
}
QVERIFY(!c.isError());
QObject *o = c.create();
QVERIFY(o != 0);
QMetaMethod method = o->metaObject()->method(o->metaObject()->indexOfMethod("runtest()"));
QBENCHMARK {
method.invoke(o);
}
delete o;
}
QTEST_MAIN(tst_javascript)
#include "tst_javascript.moc"