aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmlecmascript
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2012-06-22 09:23:26 +1000
committerQt by Nokia <qt-info@nokia.com>2012-06-22 06:54:59 +0200
commit55faad4873a9409bb1b33a10da7329d13a95aff9 (patch)
treeb08f5b801079e49ddc9d6a5839eeb14a1e238a0f /tests/auto/qml/qqmlecmascript
parent033bf75d99c281d4a133fada297b7b141a0af555 (diff)
Handle enum values of -1 correctly.
This was already handled correctly most places; now the remaining cases (using an enum in ListModel, and assigning an enum to an integer property) should also work correctly. Task-number: QTBUG-21679 Change-Id: Ibff13f0b94da94b18e2e3bae4aa6ba44e0fa944b Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Diffstat (limited to 'tests/auto/qml/qqmlecmascript')
-rw-r--r--tests/auto/qml/qqmlecmascript/data/enums.3.qml5
-rw-r--r--tests/auto/qml/qqmlecmascript/testtypes.h2
-rw-r--r--tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp2
3 files changed, 8 insertions, 1 deletions
diff --git a/tests/auto/qml/qqmlecmascript/data/enums.3.qml b/tests/auto/qml/qqmlecmascript/data/enums.3.qml
index c77d635a1e..fd3432fc9f 100644
--- a/tests/auto/qml/qqmlecmascript/data/enums.3.qml
+++ b/tests/auto/qml/qqmlecmascript/data/enums.3.qml
@@ -19,6 +19,9 @@ Item {
property int h: Namespace.MyQmlObject.EnumValue3
property int i: Namespace.MyQmlObject.EnumValue4
+ // -1 enum
+ property int j: MyQmlObject.EnumValue5
+
// Count the onChanged signals to see whether
// they're assigned as literals or via bindings
property int ac: 0
@@ -29,6 +32,7 @@ Item {
property int fc: 0
property int hc: 0
property int ic: 0
+ property int jc: 0
onAChanged: ac++
onBChanged: bc++
@@ -38,4 +42,5 @@ Item {
onFChanged: fc++
onHChanged: hc++
onIChanged: ic++
+ onJChanged: jc++
}
diff --git a/tests/auto/qml/qqmlecmascript/testtypes.h b/tests/auto/qml/qqmlecmascript/testtypes.h
index 8f3804a05b..ab44d5986e 100644
--- a/tests/auto/qml/qqmlecmascript/testtypes.h
+++ b/tests/auto/qml/qqmlecmascript/testtypes.h
@@ -111,7 +111,7 @@ public:
MyQmlObject(): myinvokableObject(0), m_methodCalled(false), m_methodIntCalled(false), m_object(0), m_value(0), m_resetProperty(13), m_intProperty(0), m_buttons(0) {}
enum MyEnum { EnumValue1 = 0, EnumValue2 = 1 };
- enum MyEnum2 { EnumValue3 = 2, EnumValue4 = 3 };
+ enum MyEnum2 { EnumValue3 = 2, EnumValue4 = 3, EnumValue5 = -1 };
bool trueProperty() const { return true; }
bool falseProperty() const { return false; }
diff --git a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
index d344758147..c429ffaa4b 100644
--- a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
+++ b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
@@ -983,6 +983,7 @@ void tst_qqmlecmascript::enums()
QCOMPARE(object->property("f").toInt(), 3);
QCOMPARE(object->property("h").toInt(), 2);
QCOMPARE(object->property("i").toInt(), 3);
+ QCOMPARE(object->property("j").toInt(), -1);
// count of change signals
QCOMPARE(object->property("ac").toInt(), 0);
@@ -993,6 +994,7 @@ void tst_qqmlecmascript::enums()
QCOMPARE(object->property("fc").toInt(), 0);
QCOMPARE(object->property("hc").toInt(), 1); // namespace -> binding
QCOMPARE(object->property("ic").toInt(), 1); // namespace -> binding
+ QCOMPARE(object->property("jc").toInt(), 0);
delete object;
}