diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2020-12-03 14:37:49 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2020-12-07 15:53:32 +0100 |
commit | e8596de70e46e98a851ac8204e294e5ef4994b96 (patch) | |
tree | 06a2555357d5b6ceea929d3a43383eed09b07f5d /tests/auto/qml | |
parent | c8d98dc206714abd5c0dc76008ffa729973d3a8f (diff) |
Allow checking for and catching errors from QJSEngine
As you can manually throw an error, you should be able to catch it
again, too.
Change-Id: I82475df1969a1fd76f4cf5fc0a8d921dfafaef89
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'tests/auto/qml')
-rw-r--r-- | tests/auto/qml/qjsengine/tst_qjsengine.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/auto/qml/qjsengine/tst_qjsengine.cpp b/tests/auto/qml/qjsengine/tst_qjsengine.cpp index 4f2e6f1866..a5316dce21 100644 --- a/tests/auto/qml/qjsengine/tst_qjsengine.cpp +++ b/tests/auto/qml/qjsengine/tst_qjsengine.cpp @@ -243,6 +243,7 @@ private slots: void throwError(); void throwErrorObject(); void returnError(); + void catchError(); void mathMinMax(); void importModule(); @@ -4810,6 +4811,19 @@ void tst_QJSEngine::returnError() QVERIFY(!result.property("stack").isUndefined()); } +void tst_QJSEngine::catchError() +{ + QJSEngine engine; + QVERIFY(!engine.hasError()); + engine.throwError(QJSValue::GenericError, "some error"); + QVERIFY(engine.hasError()); + const QJSValue error = engine.catchError(); + QVERIFY(error.isError()); + QCOMPARE(error.errorType(), QJSValue::GenericError); + QCOMPARE(error.property("message").toString(), "some error"); + QVERIFY(!engine.hasError()); +} + QJSValue tst_QJSEngine::throwingCppMethod1() { qjsEngine(this)->throwError("blub"); |