summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar@trolltech.com>2010-02-18 11:58:56 (GMT)
committerGunnar Sletta <gunnar@trolltech.com>2010-02-18 11:58:56 (GMT)
commitb63c596ef6a937a3ab99d8496b5e8b6260fe8aa7 (patch)
treeb5e2079fd22185cb13ba5d5948e187419a4362be /tests
parent2ec9f20ad7204ad1121a49d862d625821323f7b4 (diff)
parenta4414cd9d5e9818b944430593f7e4f1189e12758 (diff)
downloadQt-b63c596ef6a937a3ab99d8496b5e8b6260fe8aa7.zip
Qt-b63c596ef6a937a3ab99d8496b5e8b6260fe8aa7.tar.gz
Qt-b63c596ef6a937a3ab99d8496b5e8b6260fe8aa7.tar.bz2
Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/oslo-staging-2
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp57
-rw-r--r--tests/benchmarks/corelib/tools/qvector/main.cpp (renamed from tests/benchmarks/qvector/main.cpp)0
-rw-r--r--tests/benchmarks/corelib/tools/qvector/outofline.cpp (renamed from tests/benchmarks/qvector/outofline.cpp)0
-rw-r--r--tests/benchmarks/corelib/tools/qvector/qrawvector.h (renamed from tests/benchmarks/qvector/qrawvector.h)0
-rw-r--r--tests/benchmarks/corelib/tools/qvector/qvector.pro (renamed from tests/benchmarks/qvector/qvector.pro)0
-rw-r--r--tests/benchmarks/corelib/tools/tools.pro3
-rw-r--r--tests/benchmarks/declarative/painting/paintbenchmark.cpp16
7 files changed, 65 insertions, 11 deletions
diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
index 7c1b97e..269ec24 100644
--- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
+++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
@@ -438,6 +438,7 @@ private slots:
void QTBUG_6738_missingUpdateWithSetParent();
void QTBUG_7714_fullUpdateDiscardingOpacityUpdate2();
void QT_2653_fullUpdateDiscardingOpacityUpdate();
+ void QT_2649_focusScope();
private:
QList<QGraphicsItem *> paintedItems;
@@ -10002,5 +10003,61 @@ void tst_QGraphicsItem::QTBUG_7714_fullUpdateDiscardingOpacityUpdate2()
QTRY_COMPARE(view.repaints, 1);
}
+void tst_QGraphicsItem::QT_2649_focusScope()
+{
+ QGraphicsScene *scene = new QGraphicsScene;
+
+ QGraphicsRectItem *subFocusItem = new QGraphicsRectItem;
+ subFocusItem->setFlags(QGraphicsItem::ItemIsFocusable);
+ subFocusItem->setFocus();
+ QCOMPARE(subFocusItem->focusItem(), (QGraphicsItem *)subFocusItem);
+
+ QGraphicsRectItem *scope = new QGraphicsRectItem;
+ scope->setFlags(QGraphicsItem::ItemIsFocusable | QGraphicsItem::ItemIsFocusScope);
+ scope->setFocus();
+ subFocusItem->setParentItem(scope);
+ QCOMPARE(subFocusItem->focusItem(), (QGraphicsItem *)subFocusItem);
+ QCOMPARE(subFocusItem->focusScopeItem(), (QGraphicsItem *)0);
+ QCOMPARE(scope->focusItem(), (QGraphicsItem *)subFocusItem);
+ QCOMPARE(scope->focusScopeItem(), (QGraphicsItem *)subFocusItem);
+
+ QGraphicsRectItem *rootItem = new QGraphicsRectItem;
+ rootItem->setFlags(QGraphicsItem::ItemIsFocusable);
+ scope->setParentItem(rootItem);
+ QCOMPARE(rootItem->focusItem(), (QGraphicsItem *)subFocusItem);
+ QCOMPARE(rootItem->focusScopeItem(), (QGraphicsItem *)0);
+ QCOMPARE(subFocusItem->focusItem(), (QGraphicsItem *)subFocusItem);
+ QCOMPARE(subFocusItem->focusScopeItem(), (QGraphicsItem *)0);
+ QCOMPARE(scope->focusItem(), (QGraphicsItem *)subFocusItem);
+ QCOMPARE(scope->focusScopeItem(), (QGraphicsItem *)subFocusItem);
+
+ scene->addItem(rootItem);
+
+ QEvent windowActivate(QEvent::WindowActivate);
+ qApp->sendEvent(scene, &windowActivate);
+ scene->setFocus();
+
+ QCOMPARE(rootItem->focusItem(), (QGraphicsItem *)subFocusItem);
+ QCOMPARE(scope->focusItem(), (QGraphicsItem *)subFocusItem);
+ QCOMPARE(subFocusItem->focusItem(), (QGraphicsItem *)subFocusItem);
+ QCOMPARE(rootItem->focusScopeItem(), (QGraphicsItem *)0);
+ QCOMPARE(scope->focusScopeItem(), (QGraphicsItem *)subFocusItem);
+ QCOMPARE(subFocusItem->focusScopeItem(), (QGraphicsItem *)0);
+ QVERIFY(subFocusItem->hasFocus());
+
+ //If we hide the focusScope, the entire subFocus chain should be cleared
+ scope->hide();
+
+ QCOMPARE(rootItem->focusItem(), (QGraphicsItem *)0);
+ QCOMPARE(scope->focusItem(), (QGraphicsItem *)0);
+ QCOMPARE(subFocusItem->focusItem(), (QGraphicsItem *)0);
+ QCOMPARE(rootItem->focusScopeItem(), (QGraphicsItem *)0);
+ QCOMPARE(scope->focusScopeItem(), (QGraphicsItem *)subFocusItem);
+ QCOMPARE(subFocusItem->focusScopeItem(), (QGraphicsItem *)0);
+ QVERIFY(!subFocusItem->hasFocus());
+
+ delete scene;
+}
+
QTEST_MAIN(tst_QGraphicsItem)
#include "tst_qgraphicsitem.moc"
diff --git a/tests/benchmarks/qvector/main.cpp b/tests/benchmarks/corelib/tools/qvector/main.cpp
index 65e7609..65e7609 100644
--- a/tests/benchmarks/qvector/main.cpp
+++ b/tests/benchmarks/corelib/tools/qvector/main.cpp
diff --git a/tests/benchmarks/qvector/outofline.cpp b/tests/benchmarks/corelib/tools/qvector/outofline.cpp
index e8d036e..e8d036e 100644
--- a/tests/benchmarks/qvector/outofline.cpp
+++ b/tests/benchmarks/corelib/tools/qvector/outofline.cpp
diff --git a/tests/benchmarks/qvector/qrawvector.h b/tests/benchmarks/corelib/tools/qvector/qrawvector.h
index 15421eb..15421eb 100644
--- a/tests/benchmarks/qvector/qrawvector.h
+++ b/tests/benchmarks/corelib/tools/qvector/qrawvector.h
diff --git a/tests/benchmarks/qvector/qvector.pro b/tests/benchmarks/corelib/tools/qvector/qvector.pro
index adb30c9..adb30c9 100644
--- a/tests/benchmarks/qvector/qvector.pro
+++ b/tests/benchmarks/corelib/tools/qvector/qvector.pro
diff --git a/tests/benchmarks/corelib/tools/tools.pro b/tests/benchmarks/corelib/tools/tools.pro
index 12c23fc..681a6c6 100644
--- a/tests/benchmarks/corelib/tools/tools.pro
+++ b/tests/benchmarks/corelib/tools/tools.pro
@@ -7,4 +7,5 @@ SUBDIRS = \
qregexp \
qstring \
qstringbuilder \
- qstringlist
+ qstringlist \
+ qvector
diff --git a/tests/benchmarks/declarative/painting/paintbenchmark.cpp b/tests/benchmarks/declarative/painting/paintbenchmark.cpp
index d6a873c..dd52740 100644
--- a/tests/benchmarks/declarative/painting/paintbenchmark.cpp
+++ b/tests/benchmarks/declarative/painting/paintbenchmark.cpp
@@ -48,10 +48,7 @@
#include <QVBoxLayout>
#include <QTime>
#include <QDebug>
-
-#ifdef HAVE_STATICTEXT
-#include <private/qstatictext_p.h>
-#endif
+#include <QStaticText>
int iterations = 20;
const int count = 600;
@@ -105,7 +102,6 @@ void paint_QTextLayout_cache(QPainter &p)
paint_QTextLayout(p, true);
}
-#ifdef HAVE_STATICTEXT
void paint_QStaticText(QPainter &p, bool useOptimizations)
{
static QStaticText *staticText[lines];
@@ -113,7 +109,10 @@ void paint_QStaticText(QPainter &p, bool useOptimizations)
if (first) {
for (int i = 0; i < lines; ++i) {
staticText[i] = new QStaticText(strings[i]);
- staticText[i]->setUseBackendOptimizations(useOptimizations);
+ if (useOptimizations)
+ staticText[i]->setPerformanceHint(QStaticText::AggressiveCaching);
+ else
+ staticText[i]->setPerformanceHint(QStaticText::ModerateCaching);
}
first = false;
}
@@ -133,7 +132,6 @@ void paint_QStaticText_optimizations(QPainter &p)
{
paint_QStaticText(p, true);
}
-#endif
void paint_QPixmapCachedText(QPainter &p)
{
@@ -203,10 +201,8 @@ struct {
} funcs[] = {
{ "QTextLayoutNoCache", &paint_QTextLayout_noCache },
{ "QTextLayoutWithCache", &paint_QTextLayout_cache },
-#ifdef HAVE_STATICTEXT
{ "QStaticTextNoBackendOptimizations", &paint_QStaticText_noOptimizations },
{ "QStaticTextWithBackendOptimizations", &paint_QStaticText_optimizations },
-#endif
{ "CachedText", &paint_QPixmapCachedText },
{ "RoundedRect", &paint_RoundedRect },
{ "CachedRoundedRect", &paint_QPixmapCachedRoundedRect },
@@ -231,7 +227,7 @@ public:
void paintEvent(QPaintEvent *) {
static int last = 0;
static bool firstRun = true;
- if (firstRun == 0) {
+ if (firstRun) {
timer.start();
firstRun = false;
} else {