diff options
author | João Abecasis <joao.abecasis@nokia.com> | 2012-01-16 17:52:29 +0100 |
---|---|---|
committer | João Abecasis <joao.abecasis@nokia.com> | 2012-01-16 17:53:41 +0100 |
commit | 5b250d497fd798c476765b22a2906e1c0ff1e432 (patch) | |
tree | fd4215ca375cc2402e536bf670c2977cf64ae2ef /tests/auto/widgets/graphicsview | |
parent | 2c52e9a5c1d6ef6cbf4577430e14027375465c96 (diff) | |
parent | 7a0099183a1c107126bda3b59a47651aac612426 (diff) |
Merge remote-tracking branch 'gerrit/master' into containers
Change-Id: I2d358b912f1055ee6021d13de2f66fd459aaa355
Diffstat (limited to 'tests/auto/widgets/graphicsview')
21 files changed, 85 insertions, 184 deletions
diff --git a/tests/auto/widgets/graphicsview/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp b/tests/auto/widgets/graphicsview/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp index 6bf2f0b733..54b9355777 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -1377,8 +1377,8 @@ void tst_QGraphicsAnchorLayout::stability() //static const int primes[] = {2, 3, 5, 13, 89, 233, 1597, 28657, 514229}; // fibo primes //const int primeCount = sizeof(primes)/sizeof(int); //int alloc = primes[pass % primeCount] + pass; - //void *mem = qMalloc(alloc); - //qFree(mem); + //void *mem = malloc(alloc); + //free(mem); QGraphicsAnchorLayout *l = createAmbiguousS60Layout(); p->setLayout(l); QSizeF layoutMinimumSize = l->effectiveSizeHint(Qt::MinimumSize); diff --git a/tests/auto/widgets/graphicsview/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp b/tests/auto/widgets/graphicsview/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp index 05f08e8719..0fd19c417f 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/widgets/graphicsview/qgraphicseffectsource/tst_qgraphicseffectsource.cpp b/tests/auto/widgets/graphicsview/qgraphicseffectsource/tst_qgraphicseffectsource.cpp index a69440da50..6b90404255 100644 --- a/tests/auto/widgets/graphicsview/qgraphicseffectsource/tst_qgraphicseffectsource.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicseffectsource/tst_qgraphicseffectsource.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -122,7 +122,7 @@ public: source()->draw(painter); } - void sourceChanged() + void sourceChanged(ChangeFlags) { m_sourceChanged = true; } void sourceBoundingRectChanged() diff --git a/tests/auto/widgets/graphicsview/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp b/tests/auto/widgets/graphicsview/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp index 2247173c7f..42e0caa6a6 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp index 8474293a54..28ee69a36c 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -61,7 +61,6 @@ #include <QScrollBar> #include <QVBoxLayout> #include <QGraphicsEffect> -#include <QInputContext> #include <QPushButton> #include <QLineEdit> #include <QGraphicsLinearLayout> @@ -440,7 +439,6 @@ private slots: void modality_keyEvents(); void itemIsInFront(); void scenePosChange(); - void updateMicroFocus(); void textItem_shortcuts(); void scroll(); void focusHandling_data(); @@ -10436,86 +10434,6 @@ void tst_QGraphicsItem::scenePosChange() QCOMPARE(child2->changes.count(QGraphicsItem::ItemScenePositionHasChanged), 0); } -class MyInputContext : public QInputContext -{ -public: - MyInputContext() : nbUpdates(0) {} - ~MyInputContext() {} - - QString identifierName() { return QString(); } - QString language() { return QString(); } - - void reset() {} - - bool isComposing() const { return false; } - - void update() { nbUpdates++; } - - bool nbUpdates; -}; - -class MyInputWidget : public QGraphicsWidget -{ -public: - MyInputWidget() - { - setFlag(QGraphicsItem::ItemIsFocusable, true); - setFlag(QGraphicsItem::ItemAcceptsInputMethod, true); - } - void mousePressEvent(QGraphicsSceneMouseEvent *event) - { - event->accept(); - } - - void doUpdateMicroFocus() - { - if (QWidget *fw = QApplication::focusWidget()) { - if (scene()) { - for (int i = 0 ; i < scene()->views().count() ; ++i) { - if (scene()->views().at(i) == fw) { - if (QInputContext *inputContext = fw->inputContext()) { - inputContext->update(); - } - } - } - } - } - } -}; - -void tst_QGraphicsItem::updateMicroFocus() -{ -#if defined Q_OS_WIN || defined Q_OS_MAC - QSKIP("QTBUG-9578"); -#endif - QGraphicsScene scene; - QWidget parent; - QGridLayout layout; - parent.setLayout(&layout); - QGraphicsView view(&scene); - QGraphicsView view2(&scene); - layout.addWidget(&view, 0, 0); - layout.addWidget(&view2, 0, 1); - MyInputContext *ic = new MyInputContext; - qApp->setInputContext(ic); - MyInputWidget input; - input.setPos(0, 0); - input.resize(150, 150); - scene.addItem(&input); - input.setFocus(); - parent.show(); - view.setFocus(); - qApp->setAutoSipEnabled(true); - QApplication::setActiveWindow(&parent); - QTest::qWaitForWindowShown(&parent); - QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&parent)); - //We reset the number of updates that happened previously (initialisation) - ic->nbUpdates = 0; - input.doUpdateMicroFocus(); - QApplication::processEvents(); - QTRY_COMPARE(ic->nbUpdates, 1); -} - void tst_QGraphicsItem::textItem_shortcuts() { QWidget w; diff --git a/tests/auto/widgets/graphicsview/qgraphicsitemanimation/tst_qgraphicsitemanimation.cpp b/tests/auto/widgets/graphicsview/qgraphicsitemanimation/tst_qgraphicsitemanimation.cpp index 6785ca5620..0344755480 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsitemanimation/tst_qgraphicsitemanimation.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsitemanimation/tst_qgraphicsitemanimation.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/widgets/graphicsview/qgraphicslayout/tst_qgraphicslayout.cpp b/tests/auto/widgets/graphicsview/qgraphicslayout/tst_qgraphicslayout.cpp index a4f375ec25..d640ce7bea 100644 --- a/tests/auto/widgets/graphicsview/qgraphicslayout/tst_qgraphicslayout.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicslayout/tst_qgraphicslayout.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/widgets/graphicsview/qgraphicslayoutitem/tst_qgraphicslayoutitem.cpp b/tests/auto/widgets/graphicsview/qgraphicslayoutitem/tst_qgraphicslayoutitem.cpp index a8b6c0854e..bdcb3c8ad9 100644 --- a/tests/auto/widgets/graphicsview/qgraphicslayoutitem/tst_qgraphicslayoutitem.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicslayoutitem/tst_qgraphicslayoutitem.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp b/tests/auto/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp index 3c458b0ead..c708ae7e27 100644 --- a/tests/auto/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/widgets/graphicsview/qgraphicsobject/tst_qgraphicsobject.cpp b/tests/auto/widgets/graphicsview/qgraphicsobject/tst_qgraphicsobject.cpp index 85e36b74b2..40581f28e9 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsobject/tst_qgraphicsobject.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsobject/tst_qgraphicsobject.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/widgets/graphicsview/qgraphicspixmapitem/tst_qgraphicspixmapitem.cpp b/tests/auto/widgets/graphicsview/qgraphicspixmapitem/tst_qgraphicspixmapitem.cpp index b2dccb0b09..a76b5dfd56 100644 --- a/tests/auto/widgets/graphicsview/qgraphicspixmapitem/tst_qgraphicspixmapitem.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicspixmapitem/tst_qgraphicspixmapitem.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/widgets/graphicsview/qgraphicspolygonitem/tst_qgraphicspolygonitem.cpp b/tests/auto/widgets/graphicsview/qgraphicspolygonitem/tst_qgraphicspolygonitem.cpp index 061b3eda81..36e45fcddd 100644 --- a/tests/auto/widgets/graphicsview/qgraphicspolygonitem/tst_qgraphicspolygonitem.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicspolygonitem/tst_qgraphicspolygonitem.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp b/tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp index 3f782d0808..4cd32a9186 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp index dc1e1cb804..f1afb9ff69 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -51,6 +51,8 @@ #include <private/qgraphicssceneindex_p.h> #include <math.h> #include "../../../gui/painting/qpathclipper/pathcompare.h" +#include "../../shared/platforminputcontext.h" +#include <private/qinputpanel_p.h> #if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) #include <windows.h> @@ -186,6 +188,7 @@ class tst_QGraphicsScene : public QObject Q_OBJECT public slots: void initTestCase(); + void cleanup(); private slots: void construction(); @@ -289,6 +292,13 @@ void tst_QGraphicsScene::initTestCase() #endif } +void tst_QGraphicsScene::cleanup() +{ + // ensure not even skipped tests with custom input context leave it dangling + QInputPanelPrivate *inputPanelPrivate = QInputPanelPrivate::get(qApp->inputPanel()); + inputPanelPrivate->testContext = 0; +} + void tst_QGraphicsScene::construction() { QGraphicsScene scene; @@ -3070,7 +3080,7 @@ void tst_QGraphicsScene::tabFocus_sceneWithFocusableItems() item->setFocus(); item->clearFocus(); - QGraphicsTextItem *item2 = scene.addText("Trolltech rocks!"); + QGraphicsTextItem *item2 = scene.addText("Qt rocks!"); item2->setTabChangesFocus(true); item2->setTextInteractionFlags(Qt::TextEditorInteraction); item2->setPos(0, item->boundingRect().bottom()); @@ -3753,25 +3763,12 @@ public: mutable int queryCalls; }; -class TestInputContext : public QInputContext -{ -public: - TestInputContext() {} - - QString identifierName() { return QString(); } - QString language() { return QString(); } - - void reset() { - ++resetCalls; - sendEvent(QInputMethodEvent()); } - - bool isComposing() const { return false; } - - int resetCalls; -}; - void tst_QGraphicsScene::inputMethod() { + PlatformInputContext inputContext; + QInputPanelPrivate *inputPanelPrivate = QInputPanelPrivate::get(qApp->inputPanel()); + inputPanelPrivate->testContext = &inputContext; + QFETCH(int, flags); QFETCH(bool, callFocusItem); @@ -3780,21 +3777,19 @@ void tst_QGraphicsScene::inputMethod() QGraphicsScene scene; QGraphicsView view(&scene); - TestInputContext *inputContext = new TestInputContext; - qApp->setInputContext(inputContext); view.show(); QApplication::setActiveWindow(&view); view.setFocus(); QTest::qWaitForWindowShown(&view); QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view)); - inputContext->resetCalls = 0; + inputContext.m_resetCallCount = 0; scene.addItem(item); QInputMethodEvent event; scene.setFocusItem(item); QCOMPARE(!!(item->flags() & QGraphicsItem::ItemIsFocusable), scene.focusItem() == item); - QCOMPARE(inputContext->resetCalls, 0); + QCOMPARE(inputContext.m_resetCallCount, 0); item->eventCalls = 0; qApp->sendEvent(&scene, &event); @@ -3807,9 +3802,7 @@ void tst_QGraphicsScene::inputMethod() scene.setFocusItem(0); // the input context is reset twice, once because an item has lost focus and again because // the Qt::WA_InputMethodEnabled flag is cleared because no item has focus. - QEXPECT_FAIL("3", "QTBUG-22456", Abort); - QCOMPARE(inputContext->resetCalls, callFocusItem ? 2 : 0); - QCOMPARE(item->eventCalls, callFocusItem ? 2 : 0); // verify correct delivery of "reset" event + QCOMPARE(inputContext.m_resetCallCount, callFocusItem ? 2 : 0); QCOMPARE(item->queryCalls, callFocusItem ? 1 : 0); // verify that value is unaffected item->eventCalls = 0; diff --git a/tests/auto/widgets/graphicsview/qgraphicssceneindex/tst_qgraphicssceneindex.cpp b/tests/auto/widgets/graphicsview/qgraphicssceneindex/tst_qgraphicssceneindex.cpp index 56d2508840..a318141d07 100644 --- a/tests/auto/widgets/graphicsview/qgraphicssceneindex/tst_qgraphicssceneindex.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicssceneindex/tst_qgraphicssceneindex.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/widgets/graphicsview/qgraphicstransform/tst_qgraphicstransform.cpp b/tests/auto/widgets/graphicsview/qgraphicstransform/tst_qgraphicstransform.cpp index 7d5a9578ad..156adec6a7 100644 --- a/tests/auto/widgets/graphicsview/qgraphicstransform/tst_qgraphicstransform.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicstransform/tst_qgraphicstransform.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tests/auto/widgets/graphicsview/qgraphicsview/qgraphicsview.pro b/tests/auto/widgets/graphicsview/qgraphicsview/qgraphicsview.pro index 20cff5500a..e3a6edd682 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsview/qgraphicsview.pro +++ b/tests/auto/widgets/graphicsview/qgraphicsview/qgraphicsview.pro @@ -6,3 +6,5 @@ QT += core-private gui-private SOURCES += tst_qgraphicsview.cpp tst_qgraphicsview_2.cpp DEFINES += QT_NO_CAST_TO_ASCII + +linux-*:system(". /etc/lsb-release && [ $DISTRIB_CODENAME = oneiric ]"):CONFIG+=insignificant_test diff --git a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp index bf8ece42e2..9066ded329 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -68,10 +68,11 @@ #include <QtWidgets/QBoxLayout> #include <QtWidgets/QStyle> #include <QtWidgets/QPushButton> -#include <QtWidgets/QInputContext> #include <QtWidgets/QDesktopWidget> #include <private/qgraphicsview_p.h> #include "../../../platformquirks.h" +#include "../../shared/platforminputcontext.h" +#include <private/qinputpanel_p.h> Q_DECLARE_METATYPE(QList<int>) Q_DECLARE_METATYPE(QList<QRectF>) @@ -141,6 +142,7 @@ class tst_QGraphicsView : public QObject private slots: void initTestCase(); + void cleanup(); void construction(); void renderHints(); void alignment(); @@ -259,6 +261,13 @@ void tst_QGraphicsView::initTestCase() #endif } +void tst_QGraphicsView::cleanup() +{ + // ensure not even skipped tests with custom input context leave it dangling + QInputPanelPrivate *inputPanelPrivate = QInputPanelPrivate::get(qApp->inputPanel()); + inputPanelPrivate->testContext = 0; +} + void tst_QGraphicsView::construction() { QGraphicsView view; @@ -4100,26 +4109,16 @@ void tst_QGraphicsView::inputMethodSensitivity() QCOMPARE(scene.focusItem(), static_cast<QGraphicsItem *>(item)); } -class InputContextTester : public QInputContext -{ - Q_OBJECT -public: - QString identifierName() { return QString(); } - bool isComposing() const { return false; } - QString language() { return QString(); } - void reset() { ++resets; } - int resets; -}; - void tst_QGraphicsView::inputContextReset() { + PlatformInputContext inputContext; + QInputPanelPrivate *inputPanelPrivate = QInputPanelPrivate::get(qApp->inputPanel()); + inputPanelPrivate->testContext = &inputContext; + QGraphicsScene scene; QGraphicsView view(&scene); QVERIFY(view.testAttribute(Qt::WA_InputMethodEnabled)); - InputContextTester *inputContext = new InputContextTester; - qApp->setInputContext(inputContext); - view.show(); QTest::qWaitForWindowShown(&view); QApplication::setActiveWindow(&view); @@ -4128,40 +4127,40 @@ void tst_QGraphicsView::inputContextReset() QGraphicsItem *item1 = new QGraphicsRectItem; item1->setFlags(QGraphicsItem::ItemIsFocusable | QGraphicsItem::ItemAcceptsInputMethod); - inputContext->resets = 0; + inputContext.m_resetCallCount = 0; scene.addItem(item1); - QCOMPARE(inputContext->resets, 0); + QCOMPARE(inputContext.m_resetCallCount, 0); - inputContext->resets = 0; + inputContext.m_resetCallCount = 0; scene.setFocusItem(item1); QCOMPARE(scene.focusItem(), (QGraphicsItem *)item1); QVERIFY(view.testAttribute(Qt::WA_InputMethodEnabled)); - QCOMPARE(inputContext->resets, 0); + QCOMPARE(inputContext.m_resetCallCount, 0); - inputContext->resets = 0; + inputContext.m_resetCallCount = 0; scene.setFocusItem(0); // the input context is reset twice, once because an item has lost focus and again because // the Qt::WA_InputMethodEnabled flag is cleared because no item has focus. - QEXPECT_FAIL("", "QTBUG-22454", Abort); - QCOMPARE(inputContext->resets, 2); + // QEXPECT_FAIL("", "QTBUG-22454", Abort); + QCOMPARE(inputContext.m_resetCallCount, 2); // introduce another item that is focusable but does not accept input methods QGraphicsItem *item2 = new QGraphicsRectItem; item2->setFlags(QGraphicsItem::ItemIsFocusable); scene.addItem(item2); - inputContext->resets = 0; + inputContext.m_resetCallCount = 0; scene.setFocusItem(item2); - QCOMPARE(inputContext->resets, 0); + QCOMPARE(inputContext.m_resetCallCount, 0); - inputContext->resets = 0; + inputContext.m_resetCallCount = 0; scene.setFocusItem(item1); - QCOMPARE(inputContext->resets, 0); + QCOMPARE(inputContext.m_resetCallCount, 0); // test changing between between items that accept input methods. item2->setFlags(QGraphicsItem::ItemIsFocusable | QGraphicsItem::ItemAcceptsInputMethod); scene.setFocusItem(item2); - QCOMPARE(inputContext->resets, 1); + QCOMPARE(inputContext.m_resetCallCount, 1); } void tst_QGraphicsView::indirectPainting() diff --git a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview_2.cpp b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview_2.cpp index 122ffbc875..7f056e6700 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview_2.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview_2.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -39,23 +39,11 @@ ** ****************************************************************************/ #include <QtTest/QtTest> -#include <QSize> -#include <QRectF> -#include <QTransform> - -#ifdef Q_OS_WINCE -#include <qguifunctions_wince.h> - -bool qt_wince_is_high_dpi() { - HDC deviceContext = GetDC(0); - int dpi = GetDeviceCaps(deviceContext, LOGPIXELSX); - ReleaseDC(0, deviceContext); - if ((dpi < 1000) && (dpi > 0)) - return dpi > 96; - else - return false; -} -#endif +#include <QtCore/QSize> +#include <QtCore/QRectF> +#include <QtGui/QTransform> +#include <QtGui/QGuiApplication> +#include <QtGui/QScreen> Q_DECLARE_METATYPE(QList<int>) Q_DECLARE_METATYPE(QList<QRectF>) @@ -286,7 +274,7 @@ static void _scrollBarRanges_data_1(int offset) << -200 << (50 + 16) << -200 << (100 + 16) << false << false; } -static void _scrollBarRanges_data_2(int offset) +static void _scrollBarRangesMotif_data_1(int offset) { // Motif, flat frame QTest::newRow("Motif, 1") << QSize(150, 100) << QRectF(0, 0, 150, 100) << QTransform() @@ -507,7 +495,7 @@ static void _scrollBarRanges_data_2(int offset) << -200 << (50 + 16) << -200 << (100 + 16) << true << false; } -static void _scrollBarRanges_data_3(int offset) +static void _scrollBarRanges_data_2(int offset) { // No motif, styled panel QTest::newRow("Styled, 1") << QSize(150, 100) << QRectF(0, 0, 150, 100) << QTransform() @@ -728,7 +716,7 @@ static void _scrollBarRanges_data_3(int offset) << -200 << (50 + 16) << -200 << (100 + 16) << false << true; } -static void _scrollBarRanges_data_4(int offset) +static void _scrollBarRangesMotif_data_2(int offset) { // Motif, styled panel QTest::newRow("Motif, Styled, 1") << QSize(150, 100) << QRectF(0, 0, 150, 100) << QTransform() @@ -963,14 +951,14 @@ void _scrollBarRanges_data() QTest::addColumn<bool>("useMotif"); QTest::addColumn<bool>("useStyledPanel"); - int offset = 16; -#ifdef Q_OS_WINCE - if (qt_wince_is_high_dpi()) - offset *= 2; -#endif + const int offset = 16; _scrollBarRanges_data_1(offset); _scrollBarRanges_data_2(offset); - _scrollBarRanges_data_3(offset); - _scrollBarRanges_data_4(offset); + // Motif tests are suitable for 96 DPI, only. + const QScreen *screen = QGuiApplication::primaryScreen(); + if (screen && qFuzzyCompare(screen->logicalDotsPerInchX(), 96.0)) { + _scrollBarRangesMotif_data_1(offset); + _scrollBarRangesMotif_data_2(offset); + } } diff --git a/tests/auto/widgets/graphicsview/qgraphicswidget/qgraphicswidget.pro b/tests/auto/widgets/graphicsview/qgraphicswidget/qgraphicswidget.pro index afe584e57d..af9ff4d42c 100644 --- a/tests/auto/widgets/graphicsview/qgraphicswidget/qgraphicswidget.pro +++ b/tests/auto/widgets/graphicsview/qgraphicswidget/qgraphicswidget.pro @@ -6,5 +6,6 @@ QT += core-private gui-private SOURCES += tst_qgraphicswidget.cpp - +# QTBUG-23616 - unstable test +linux-*:system(". /etc/lsb-release && [ $DISTRIB_CODENAME = oneiric ]"):CONFIG += insignificant_test mac*:CONFIG+=insignificant_test diff --git a/tests/auto/widgets/graphicsview/qgraphicswidget/tst_qgraphicswidget.cpp b/tests/auto/widgets/graphicsview/qgraphicswidget/tst_qgraphicswidget.cpp index 164d5564e3..89cd63f482 100644 --- a/tests/auto/widgets/graphicsview/qgraphicswidget/tst_qgraphicswidget.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicswidget/tst_qgraphicswidget.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** |