summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@nokia.com>2011-10-18 11:06:42 +0200
committerQt by Nokia <qt-info@nokia.com>2011-10-19 22:27:09 +0200
commitb1b843dcf5165f5b204adbd3cf36c0c8fa3605c0 (patch)
tree59287974e217a15472e9ada34013f0b57c58caa2 /tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp
parent15fee6e744a85672c4213fbd396e5f9a43483ffc (diff)
Update keyToValue and keysToValue in QMetaEnum
Add a ok return value for whether found or not. Task-number: QTBUG-21672 Reviewed-by: Olivier Goffart Change-Id: Ic0ea7455dccf1ac91705bcc1479444eb4091ded3 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Liang Qi <liang.qi@nokia.com>
Diffstat (limited to 'tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp')
-rw-r--r--tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp71
1 files changed, 53 insertions, 18 deletions
diff --git a/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp b/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp
index a813a917d7..29b2af44ed 100644
--- a/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp
+++ b/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp
@@ -62,6 +62,7 @@ namespace MyNamespace {
Q_PROPERTY(MyFlags myFlags READ myFlags WRITE setMyFlags)
Q_ENUMS(MyEnum)
+ Q_ENUMS(MyAnotherEnum)
Q_FLAGS(MyFlags)
public:
enum MyEnum {
@@ -69,7 +70,11 @@ namespace MyNamespace {
MyEnum2,
MyEnum3
};
-
+ enum MyAnotherEnum {
+ MyAnotherEnum1 = 1,
+ MyAnotherEnum2 = 2,
+ MyAnotherEnum3 = -1
+ };
enum MyFlag {
MyFlag1 = 0x01,
MyFlag2 = 0x02,
@@ -933,36 +938,66 @@ void tst_QMetaObject::customPropertyType()
void tst_QMetaObject::checkScope()
{
MyNamespace::MyClass obj;
+ bool ok;
const QMetaObject *mo = obj.metaObject();
QMetaEnum me = mo->enumerator(mo->indexOfEnumerator("MyEnum"));
QVERIFY(me.isValid());
QVERIFY(!me.isFlag());
QCOMPARE(QLatin1String(me.scope()), QLatin1String("MyNamespace::MyClass"));
- QCOMPARE(me.keyToValue("MyNamespace::MyClass::MyEnum2"), 1);
- QCOMPARE(me.keyToValue("MyClass::MyEnum2"), -1);
- QCOMPARE(me.keyToValue("MyNamespace::MyEnum2"), -1);
- QCOMPARE(me.keyToValue("MyEnum2"), 1);
- QCOMPARE(me.keyToValue("MyEnum"), -1);
+ QCOMPARE(me.keyToValue("MyNamespace::MyClass::MyEnum2", &ok), 1);
+ QCOMPARE(ok, true);
+ QCOMPARE(me.keyToValue("MyClass::MyEnum2", &ok), -1);
+ QCOMPARE(ok, false);
+ QCOMPARE(me.keyToValue("MyNamespace::MyEnum2", &ok), -1);
+ QCOMPARE(ok, false);
+ QCOMPARE(me.keyToValue("MyEnum2", &ok), 1);
+ QCOMPARE(ok, true);
+ QCOMPARE(me.keyToValue("MyEnum", &ok), -1);
+ QCOMPARE(ok, false);
QCOMPARE(QLatin1String(me.valueToKey(1)), QLatin1String("MyEnum2"));
+ QMetaEnum me2 = mo->enumerator(mo->indexOfEnumerator("MyAnotherEnum"));
+ QVERIFY(me2.isValid());
+ QVERIFY(!me2.isFlag());
+ QCOMPARE(me2.keyToValue("MyAnotherEnum1", &ok), 1);
+ QCOMPARE(ok, true);
+ QCOMPARE(me2.keyToValue("MyAnotherEnum2", &ok), 2);
+ QCOMPARE(ok, true);
+ QCOMPARE(me2.keyToValue("MyAnotherEnum3", &ok), -1);
+ QCOMPARE(ok, true);
+ QCOMPARE(me2.keyToValue("MyAnotherEnum", &ok), -1);
+ QCOMPARE(ok, false);
+
QMetaEnum mf = mo->enumerator(mo->indexOfEnumerator("MyFlags"));
QVERIFY(mf.isValid());
QVERIFY(mf.isFlag());
QCOMPARE(QLatin1String(mf.scope()), QLatin1String("MyNamespace::MyClass"));
- QCOMPARE(mf.keysToValue("MyNamespace::MyClass::MyFlag2"), 2);
- QCOMPARE(mf.keysToValue("MyClass::MyFlag2"), -1);
- QCOMPARE(mf.keysToValue("MyNamespace::MyFlag2"), -1);
- QCOMPARE(mf.keysToValue("MyFlag2"), 2);
- QCOMPARE(mf.keysToValue("MyFlag"), -1);
+ QCOMPARE(mf.keysToValue("MyNamespace::MyClass::MyFlag2", &ok), 2);
+ QCOMPARE(ok, true);
+ QCOMPARE(mf.keysToValue("MyClass::MyFlag2", &ok), -1);
+ QCOMPARE(ok, false);
+ QCOMPARE(mf.keysToValue("MyNamespace::MyFlag2", &ok), -1);
+ QCOMPARE(ok, false);
+ QCOMPARE(mf.keysToValue("MyFlag2", &ok), 2);
+ QCOMPARE(ok, true);
+ QCOMPARE(mf.keysToValue("MyFlag", &ok), -1);
+ QCOMPARE(ok, false);
QCOMPARE(QLatin1String(mf.valueToKey(2)), QLatin1String("MyFlag2"));
- QCOMPARE(mf.keysToValue("MyNamespace::MyClass::MyFlag1|MyNamespace::MyClass::MyFlag2"), 3);
- QCOMPARE(mf.keysToValue("MyClass::MyFlag1|MyClass::MyFlag2"), -1);
- QCOMPARE(mf.keysToValue("MyNamespace::MyFlag1|MyNamespace::MyFlag2"), -1);
- QCOMPARE(mf.keysToValue("MyFlag1|MyFlag2"), 3);
- QCOMPARE(mf.keysToValue("MyFlag2|MyFlag2"), 2);
- QCOMPARE(mf.keysToValue("MyFlag1|MyNamespace::MyClass::MyFlag2"), 3);
- QCOMPARE(mf.keysToValue("MyNamespace::MyClass::MyFlag2|MyNamespace::MyClass::MyFlag2"), 2);
+ QCOMPARE(mf.keysToValue("MyNamespace::MyClass::MyFlag1|MyNamespace::MyClass::MyFlag2", &ok), 3);
+ QCOMPARE(ok, true);
+ QCOMPARE(mf.keysToValue("MyClass::MyFlag1|MyClass::MyFlag2", &ok), -1);
+ QCOMPARE(ok, false);
+ QCOMPARE(mf.keysToValue("MyNamespace::MyFlag1|MyNamespace::MyFlag2", &ok), -1);
+ QCOMPARE(ok, false);
+ QCOMPARE(mf.keysToValue("MyFlag1|MyFlag2", &ok), 3);
+ QCOMPARE(ok, true);
+ QCOMPARE(mf.keysToValue("MyFlag2|MyFlag2", &ok), 2);
+ QCOMPARE(ok, true);
+ QCOMPARE(mf.keysToValue("MyFlag1|MyNamespace::MyClass::MyFlag2", &ok), 3);
+ QCOMPARE(ok, true);
+ QCOMPARE(mf.keysToValue("MyNamespace::MyClass::MyFlag2|MyNamespace::MyClass::MyFlag2", &ok), 2);
+ QCOMPARE(ok, true);
QCOMPARE(QLatin1String(mf.valueToKeys(3)), QLatin1String("MyFlag1|MyFlag2"));
}