aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/doc/how-tos/how-to-cpp-enum-js/tst_how-to-cpp-enum-js.cpp
blob: 933a1cf3e35c6fc0c5c3f67388b12ad31a365fa7 (plain)
1
2
3
4
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
37
38
39
40
41
42
43
44
45
46
47
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only

#include <QtCore/qregularexpression.h>
#include <QtTest/QtTest>
#include <QtQml/qjsengine.h>

#include "backend.h"

QT_BEGIN_NAMESPACE

class tst_HowToCppEnumJs : public QObject
{
    Q_OBJECT

public:
    tst_HowToCppEnumJs();

private slots:
    void example();
};

tst_HowToCppEnumJs::tst_HowToCppEnumJs()
{
}

void tst_HowToCppEnumJs::example()
{
    QTest::failOnWarning(QRegularExpression(QStringLiteral(".?")));

    QJSEngine engine;
    engine.installExtensions(QJSEngine::AllExtensions);

    QJSValue backendJsMetaObject = engine.newQMetaObject(&Backend::staticMetaObject);
    engine.globalObject().setProperty("Backend", backendJsMetaObject);

    QTest::ignoreMessage(QtDebugMsg, "Backend loaded successfully");
    Backend backend(&engine);
    const bool loaded = backend.load();
    QVERIFY(loaded);
}

QT_END_NAMESPACE

QTEST_MAIN(tst_HowToCppEnumJs)

#include "tst_how-to-cpp-enum-js.moc"