--- a/tests/auto/declarative/qdeclarativefocusscope/tst_qdeclarativefocusscope.cpp Tue Jul 06 15:10:48 2010 +0300
+++ b/tests/auto/declarative/qdeclarativefocusscope/tst_qdeclarativefocusscope.cpp Wed Aug 18 10:37:55 2010 +0300
@@ -48,6 +48,10 @@
#include <private/qdeclarativetext_p.h>
#include <QtDeclarative/private/qdeclarativefocusscope_p.h>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
class tst_qdeclarativefocusscope : public QObject
{
@@ -64,6 +68,7 @@
void noFocus();
void textEdit();
void forceFocus();
+ void noParentFocus();
};
/*
@@ -93,7 +98,7 @@
QDeclarativeView *view = new QDeclarativeView;
view->setSource(QUrl::fromLocalFile(SRCDIR "/data/test.qml"));
- QDeclarativeRectangle *item0 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item0"));
+ QDeclarativeFocusScope *item0 = findItem<QDeclarativeFocusScope>(view->rootObject(), QLatin1String("item0"));
QDeclarativeRectangle *item1 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item1"));
QDeclarativeRectangle *item2 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item2"));
QDeclarativeRectangle *item3 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item3"));
@@ -113,22 +118,22 @@
QVERIFY(view->hasFocus());
QVERIFY(view->scene()->hasFocus());
- QVERIFY(item0->wantsFocus() == true);
- QVERIFY(item1->hasFocus() == true);
- QVERIFY(item2->hasFocus() == false);
- QVERIFY(item3->hasFocus() == false);
+ QVERIFY(item0->hasActiveFocus() == true);
+ QVERIFY(item1->hasActiveFocus() == true);
+ QVERIFY(item2->hasActiveFocus() == false);
+ QVERIFY(item3->hasActiveFocus() == false);
QTest::keyClick(view, Qt::Key_Right);
- QVERIFY(item0->wantsFocus() == true);
- QVERIFY(item1->hasFocus() == false);
- QVERIFY(item2->hasFocus() == true);
- QVERIFY(item3->hasFocus() == false);
+ QVERIFY(item0->hasActiveFocus() == true);
+ QVERIFY(item1->hasActiveFocus() == false);
+ QVERIFY(item2->hasActiveFocus() == true);
+ QVERIFY(item3->hasActiveFocus() == false);
QTest::keyClick(view, Qt::Key_Down);
- QVERIFY(item0->wantsFocus() == false);
- QVERIFY(item1->hasFocus() == false);
- QVERIFY(item2->hasFocus() == false);
- QVERIFY(item3->hasFocus() == true);
+ QVERIFY(item0->hasActiveFocus() == false);
+ QVERIFY(item1->hasActiveFocus() == false);
+ QVERIFY(item2->hasActiveFocus() == false);
+ QVERIFY(item3->hasActiveFocus() == true);
delete view;
}
@@ -161,16 +166,11 @@
QVERIFY(view->hasFocus());
QVERIFY(view->scene()->hasFocus());
- QVERIFY(item1->wantsFocus() == true);
- QVERIFY(item1->hasFocus() == false);
- QVERIFY(item2->wantsFocus() == true);
- QVERIFY(item2->hasFocus() == false);
- QVERIFY(item3->wantsFocus() == true);
- QVERIFY(item3->hasFocus() == false);
- QVERIFY(item4->wantsFocus() == true);
- QVERIFY(item4->hasFocus() == false);
- QVERIFY(item5->wantsFocus() == true);
- QVERIFY(item5->hasFocus() == true);
+ QVERIFY(item1->hasActiveFocus() == true);
+ QVERIFY(item2->hasActiveFocus() == true);
+ QVERIFY(item3->hasActiveFocus() == true);
+ QVERIFY(item4->hasActiveFocus() == true);
+ QVERIFY(item5->hasActiveFocus() == true);
delete view;
}
@@ -199,22 +199,22 @@
QVERIFY(view->hasFocus());
QVERIFY(view->scene()->hasFocus());
- QVERIFY(item0->wantsFocus() == false);
- QVERIFY(item1->hasFocus() == false);
- QVERIFY(item2->hasFocus() == false);
- QVERIFY(item3->hasFocus() == false);
+ QVERIFY(item0->hasActiveFocus() == false);
+ QVERIFY(item1->hasActiveFocus() == false);
+ QVERIFY(item2->hasActiveFocus() == false);
+ QVERIFY(item3->hasActiveFocus() == false);
QTest::keyClick(view, Qt::Key_Right);
- QVERIFY(item0->wantsFocus() == false);
- QVERIFY(item1->hasFocus() == false);
- QVERIFY(item2->hasFocus() == false);
- QVERIFY(item3->hasFocus() == false);
+ QVERIFY(item0->hasActiveFocus() == false);
+ QVERIFY(item1->hasActiveFocus() == false);
+ QVERIFY(item2->hasActiveFocus() == false);
+ QVERIFY(item3->hasActiveFocus() == false);
QTest::keyClick(view, Qt::Key_Down);
- QVERIFY(item0->wantsFocus() == false);
- QVERIFY(item1->hasFocus() == false);
- QVERIFY(item2->hasFocus() == false);
- QVERIFY(item3->hasFocus() == false);
+ QVERIFY(item0->hasActiveFocus() == false);
+ QVERIFY(item1->hasActiveFocus() == false);
+ QVERIFY(item2->hasActiveFocus() == false);
+ QVERIFY(item3->hasActiveFocus() == false);
delete view;
}
@@ -224,7 +224,7 @@
QDeclarativeView *view = new QDeclarativeView;
view->setSource(QUrl::fromLocalFile(SRCDIR "/data/test5.qml"));
- QDeclarativeRectangle *item0 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item0"));
+ QDeclarativeFocusScope *item0 = findItem<QDeclarativeFocusScope>(view->rootObject(), QLatin1String("item0"));
QDeclarativeTextEdit *item1 = findItem<QDeclarativeTextEdit>(view->rootObject(), QLatin1String("item1"));
QDeclarativeRectangle *item2 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item2"));
QDeclarativeTextEdit *item3 = findItem<QDeclarativeTextEdit>(view->rootObject(), QLatin1String("item3"));
@@ -244,32 +244,32 @@
QVERIFY(view->hasFocus());
QVERIFY(view->scene()->hasFocus());
- QVERIFY(item0->wantsFocus() == true);
- QVERIFY(item1->hasFocus() == true);
- QVERIFY(item2->hasFocus() == false);
- QVERIFY(item3->hasFocus() == false);
+ QVERIFY(item0->hasActiveFocus() == true);
+ QVERIFY(item1->hasActiveFocus() == true);
+ QVERIFY(item2->hasActiveFocus() == false);
+ QVERIFY(item3->hasActiveFocus() == false);
QTest::keyClick(view, Qt::Key_Right);
- QVERIFY(item0->wantsFocus() == true);
- QVERIFY(item1->hasFocus() == true);
- QVERIFY(item2->hasFocus() == false);
- QVERIFY(item3->hasFocus() == false);
+ QVERIFY(item0->hasActiveFocus() == true);
+ QVERIFY(item1->hasActiveFocus() == true);
+ QVERIFY(item2->hasActiveFocus() == false);
+ QVERIFY(item3->hasActiveFocus() == false);
QTest::keyClick(view, Qt::Key_Right);
QTest::keyClick(view, Qt::Key_Right);
QTest::keyClick(view, Qt::Key_Right);
QTest::keyClick(view, Qt::Key_Right);
QTest::keyClick(view, Qt::Key_Right);
- QVERIFY(item0->wantsFocus() == true);
- QVERIFY(item1->hasFocus() == false);
- QVERIFY(item2->hasFocus() == true);
- QVERIFY(item3->hasFocus() == false);
+ QVERIFY(item0->hasActiveFocus() == true);
+ QVERIFY(item1->hasActiveFocus() == false);
+ QVERIFY(item2->hasActiveFocus() == true);
+ QVERIFY(item3->hasActiveFocus() == false);
QTest::keyClick(view, Qt::Key_Down);
- QVERIFY(item0->wantsFocus() == false);
- QVERIFY(item1->hasFocus() == false);
- QVERIFY(item2->hasFocus() == false);
- QVERIFY(item3->hasFocus() == true);
+ QVERIFY(item0->hasActiveFocus() == false);
+ QVERIFY(item1->hasActiveFocus() == false);
+ QVERIFY(item2->hasActiveFocus() == false);
+ QVERIFY(item3->hasActiveFocus() == true);
delete view;
}
@@ -279,10 +279,10 @@
QDeclarativeView *view = new QDeclarativeView;
view->setSource(QUrl::fromLocalFile(SRCDIR "/data/forcefocus.qml"));
- QDeclarativeRectangle *item0 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item0"));
+ QDeclarativeFocusScope *item0 = findItem<QDeclarativeFocusScope>(view->rootObject(), QLatin1String("item0"));
QDeclarativeRectangle *item1 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item1"));
QDeclarativeRectangle *item2 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item2"));
- QDeclarativeRectangle *item3 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item3"));
+ QDeclarativeFocusScope *item3 = findItem<QDeclarativeFocusScope>(view->rootObject(), QLatin1String("item3"));
QDeclarativeRectangle *item4 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item4"));
QDeclarativeRectangle *item5 = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("item5"));
QVERIFY(item0 != 0);
@@ -303,32 +303,46 @@
QVERIFY(view->hasFocus());
QVERIFY(view->scene()->hasFocus());
- QVERIFY(item0->wantsFocus() == true);
- QVERIFY(item1->hasFocus() == true);
- QVERIFY(item2->hasFocus() == false);
- QVERIFY(item3->wantsFocus() == false);
- QVERIFY(item4->hasFocus() == false);
- QVERIFY(item5->hasFocus() == false);
+ QVERIFY(item0->hasActiveFocus() == true);
+ QVERIFY(item1->hasActiveFocus() == true);
+ QVERIFY(item2->hasActiveFocus() == false);
+ QVERIFY(item3->hasActiveFocus() == false);
+ QVERIFY(item4->hasActiveFocus() == false);
+ QVERIFY(item5->hasActiveFocus() == false);
QTest::keyClick(view, Qt::Key_4);
- QVERIFY(item0->wantsFocus() == true);
- QVERIFY(item1->hasFocus() == true);
- QVERIFY(item2->hasFocus() == false);
- QVERIFY(item3->wantsFocus() == false);
- QVERIFY(item4->hasFocus() == false);
- QVERIFY(item5->hasFocus() == false);
+ QVERIFY(item0->hasActiveFocus() == true);
+ QVERIFY(item1->hasActiveFocus() == true);
+ QVERIFY(item2->hasActiveFocus() == false);
+ QVERIFY(item3->hasActiveFocus() == false);
+ QVERIFY(item4->hasActiveFocus() == false);
+ QVERIFY(item5->hasActiveFocus() == false);
QTest::keyClick(view, Qt::Key_5);
- QVERIFY(item0->wantsFocus() == false);
- QVERIFY(item1->hasFocus() == false);
- QVERIFY(item2->hasFocus() == false);
- QVERIFY(item3->wantsFocus() == true);
- QVERIFY(item4->hasFocus() == false);
- QVERIFY(item5->hasFocus() == true);
+ QVERIFY(item0->hasActiveFocus() == false);
+ QVERIFY(item1->hasActiveFocus() == false);
+ QVERIFY(item2->hasActiveFocus() == false);
+ QVERIFY(item3->hasActiveFocus() == true);
+ QVERIFY(item4->hasActiveFocus() == false);
+ QVERIFY(item5->hasActiveFocus() == true);
delete view;
}
+void tst_qdeclarativefocusscope::noParentFocus()
+{
+ QDeclarativeView *view = new QDeclarativeView;
+ view->setSource(QUrl::fromLocalFile(SRCDIR "/data/chain.qml"));
+ QVERIFY(view->rootObject());
+
+ QVERIFY(view->rootObject()->property("focus1") == true);
+ QVERIFY(view->rootObject()->property("focus2") == false);
+ QVERIFY(view->rootObject()->property("focus3") == true);
+ QVERIFY(view->rootObject()->property("focus4") == true);
+ QVERIFY(view->rootObject()->property("focus5") == true);
+
+ delete view;
+}
QTEST_MAIN(tst_qdeclarativefocusscope)