diff options
author | Pekka Vuorela <pekka.ta.vuorela@nokia.com> | 2011-12-15 16:49:43 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-12-30 13:20:37 +0100 |
commit | 6576fda2ade4b61ee19896a431e97e870d62974f (patch) | |
tree | b68e5c74b3f6cff60051325c406f24f969296f66 /tests | |
parent | b83e98d22c667ae36be5ed85b863c7086482afa4 (diff) |
Adapt QGraphicsView test to QPlatformInputContext
Change-Id: I9562a0b763fe7d77cd08451426bf2ceaec00acf9
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp | 53 |
1 files changed, 26 insertions, 27 deletions
diff --git a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp index bf8ece42e2..8f2f8930c6 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp @@ -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() |