aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmlpromise/data/promise-executor-throw-exception.qml
blob: 806d276f51dee1797f5d5a6bfcc7f7c7db3b1a5e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Copyright (C) 2018 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
import QtQuick 2.0

QtObject {
    property bool wasTestSuccessful: false

    property var errorObject: { text: "Exception should not escape executor" }

    property var promise: new Promise(function() {
        throw errorObject
    })

    Component.onCompleted: {
        promise.then(function() {
            throw new Error("Should never be called")
        }, function(error) {
            if (error === errorObject) {
                wasTestSuccessful = true
            }
        })
    }
}