aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qmlcppcodegen/data/equalityVarAndNonStorable.qml
blob: 7ab71940eefe65328deaa0931970db922d29bd7a (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
import QtQml
import TestTypes

QtObject {
    id: self
    property var a: 1
    property bool aIsNull: a === null
    property bool aIsNotNull: null !== a
    property bool aIsNotUndefined: a !== undefined

    property var thisObject: self
    property var objectIsNotNull : thisObject !== null

    property list<date> typedArray: []
    property var varTypedArray: typedArray
    property bool typedArrayIsNull: null === varTypedArray

    property var undefinedVar
    property bool isUndefined: undefinedVar === undefined

    // QObject derived
    property var qObjectDerived: Person {name: "patron"}
    property bool derivedIsNull: null === qObjectDerived

    property wrappedWithVariant wrapped
    // QJSValue
    property bool jsValueIsNull: wrapped.nullJsValue === null
    property bool jsValueIsDefined: wrapped.intJSValue !== null &&  undefined !==  wrapped.intJSValue
    property bool jsValueIsUndefined: wrapped.undefinedJsValue === undefined

    // QJSPrimitiveType
    property bool primitiveIsNull: wrapped.nullPrimitiveValue === null
    property bool primitiveIsDefined: wrapped.intPrimitiveValue !== null &&  undefined !==  wrapped.intPrimitiveValue
    property bool primitiveIsUndefined: wrapped.undefinedPrimitiveValue === undefined

    // Non-strict cases
    property var nullVar: null
    property bool nullVarIsUndefined: nullVar == undefined
    property bool nullIsUndefined: null == undefined
    property bool nullVarIsNull: nullVar == null
    property bool nullIsNotUndefined: null !== undefined
}