diff options
author | David Faure <faure@kde.org> | 2011-08-15 13:24:23 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-08-15 13:37:49 +0200 |
commit | 3a1568c30c80c3681edaeaa472fe9c684ab48454 (patch) | |
tree | 9cfb0e82bb66664db1c817983cb11985edd0db4a /tests | |
parent | c74aa533837bda15bf049d4135bd18f952c5229f (diff) |
Add flag for non-recursive lookup of child qobject(s)
Merge-request: 40
Reviewed-by: olivier
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Change-Id: I1194ba0d8bba92ece3132171e230cece341ec127
Reviewed-on: http://codereview.qt.nokia.com/2957
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/qobject/tst_qobject.cpp | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/tests/auto/qobject/tst_qobject.cpp b/tests/auto/qobject/tst_qobject.cpp index 99942d54be..3cd4376d80 100644 --- a/tests/auto/qobject/tst_qobject.cpp +++ b/tests/auto/qobject/tst_qobject.cpp @@ -689,6 +689,101 @@ void tst_QObject::findChildren() tl = o.findChildren<QTimer *>("t1"); QCOMPARE(tl.size(), 1); QCOMPARE(tl.at(0), &t1); + + // Find direct child/children + + op = o.findChild<QObject*>("o1", Qt::FindDirectChildrenOnly); + QCOMPARE(op, &o1); + op = o.findChild<QObject*>("o2", Qt::FindDirectChildrenOnly); + QCOMPARE(op, &o2); + op = o.findChild<QObject*>("o11", Qt::FindDirectChildrenOnly); + QCOMPARE(op, static_cast<QObject *>(0)); + op = o.findChild<QObject*>("o12", Qt::FindDirectChildrenOnly); + QCOMPARE(op, static_cast<QObject *>(0)); + op = o.findChild<QObject*>("o111", Qt::FindDirectChildrenOnly); + QCOMPARE(op, static_cast<QObject *>(0)); + op = o.findChild<QObject*>("t1", Qt::FindDirectChildrenOnly); + QCOMPARE(op, static_cast<QObject *>(&t1)); + op = o.findChild<QObject*>("t121", Qt::FindDirectChildrenOnly); + QCOMPARE(op, static_cast<QObject *>(0)); + op = o.findChild<QTimer*>("t1", Qt::FindDirectChildrenOnly); + QCOMPARE(op, static_cast<QObject *>(&t1)); + op = o.findChild<QTimer*>("t121", Qt::FindDirectChildrenOnly); + QCOMPARE(op, static_cast<QObject *>(0)); + op = o.findChild<QTimer*>("o12", Qt::FindDirectChildrenOnly); + QCOMPARE(op, static_cast<QObject *>(0)); + op = o.findChild<QObject*>("o", Qt::FindDirectChildrenOnly); + QCOMPARE(op, static_cast<QObject *>(0)); + op = o.findChild<QObject*>("harry", Qt::FindDirectChildrenOnly); + QCOMPARE(op, static_cast<QObject *>(0)); + op = o.findChild<QObject*>("o1", Qt::FindDirectChildrenOnly); + QCOMPARE(op, &o1); + + l = o.findChildren<QObject*>("o1", Qt::FindDirectChildrenOnly); + QCOMPARE(l.size(), 1); + QCOMPARE(l.at(0), &o1); + l = o.findChildren<QObject*>("o2", Qt::FindDirectChildrenOnly); + QCOMPARE(l.size(), 1); + QCOMPARE(l.at(0), &o2); + l = o.findChildren<QObject*>("o11", Qt::FindDirectChildrenOnly); + QCOMPARE(l.size(), 0); + l = o.findChildren<QObject*>("o12", Qt::FindDirectChildrenOnly); + QCOMPARE(l.size(), 0); + l = o.findChildren<QObject*>("o111", Qt::FindDirectChildrenOnly); + QCOMPARE(l.size(), 0); + l = o.findChildren<QObject*>("t1", Qt::FindDirectChildrenOnly); + QCOMPARE(l.size(), 1); + QCOMPARE(l.at(0), static_cast<QObject *>(&t1)); + l = o.findChildren<QObject*>("t121", Qt::FindDirectChildrenOnly); + QCOMPARE(l.size(), 0); + tl = o.findChildren<QTimer*>("t1", Qt::FindDirectChildrenOnly); + QCOMPARE(tl.size(), 1); + QCOMPARE(tl.at(0), &t1); + tl = o.findChildren<QTimer*>("t121", Qt::FindDirectChildrenOnly); + QCOMPARE(tl.size(), 0); + l = o.findChildren<QObject*>("o", Qt::FindDirectChildrenOnly); + QCOMPARE(l.size(), 0); + l = o.findChildren<QObject*>("harry", Qt::FindDirectChildrenOnly); + QCOMPARE(l.size(), 0); + tl = o.findChildren<QTimer*>("o12", Qt::FindDirectChildrenOnly); + QCOMPARE(tl.size(), 0); + l = o.findChildren<QObject*>("o1", Qt::FindDirectChildrenOnly); + QCOMPARE(l.size(), 1); + QCOMPARE(l.at(0), &o1); + + l = o.findChildren<QObject*>(QRegExp("o.*"), Qt::FindDirectChildrenOnly); + QCOMPARE(l.size(), 2); + QVERIFY(l.contains(&o1)); + QVERIFY(l.contains(&o2)); + l = o.findChildren<QObject*>(QRegExp("t.*"), Qt::FindDirectChildrenOnly); + QCOMPARE(l.size(), 1); + QVERIFY(l.contains(&t1)); + tl = o.findChildren<QTimer*>(QRegExp(".*"), Qt::FindDirectChildrenOnly); + QCOMPARE(tl.size(), 2); + QVERIFY(tl.contains(&t1)); + tl = o.findChildren<QTimer*>(QRegExp("o.*"), Qt::FindDirectChildrenOnly); + QCOMPARE(tl.size(), 0); + l = o.findChildren<QObject*>(QRegExp("harry"), Qt::FindDirectChildrenOnly); + QCOMPARE(l.size(), 0); + + // empty and null string check + op = o.findChild<QObject*>(QString(), Qt::FindDirectChildrenOnly); + QCOMPARE(op, &o1); + op = o.findChild<QObject*>("", Qt::FindDirectChildrenOnly); + QCOMPARE(op, &unnamed); + op = o.findChild<QObject*>("unnamed", Qt::FindDirectChildrenOnly); + QCOMPARE(op, static_cast<QObject *>(0)); + + l = o.findChildren<QObject*>(QString(), Qt::FindDirectChildrenOnly); + QCOMPARE(l.size(), 5); + l = o.findChildren<QObject*>("", Qt::FindDirectChildrenOnly); + QCOMPARE(l.size(), 2); + l = o.findChildren<QObject*>("unnamed", Qt::FindDirectChildrenOnly); + QCOMPARE(l.size(), 0); + + tl = o.findChildren<QTimer *>("t1", Qt::FindDirectChildrenOnly); + QCOMPARE(tl.size(), 1); + QCOMPARE(tl.at(0), &t1); } |