From ca737f566b1016712a0d90e8b5e55e49ce8748d2 Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Wed, 7 Mar 2012 16:21:38 +0100 Subject: Use QAccessibleEvent in test. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I4f9c0f503543caa5704a29c8ccd7c4134b455625 Reviewed-by: Jan-Arve Sæther --- src/testlib/qtestaccessible.h | 50 ++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 24 deletions(-) (limited to 'src/testlib/qtestaccessible.h') diff --git a/src/testlib/qtestaccessible.h b/src/testlib/qtestaccessible.h index d402cc8cf8..f9b1b97ac6 100644 --- a/src/testlib/qtestaccessible.h +++ b/src/testlib/qtestaccessible.h @@ -49,8 +49,8 @@ #ifndef QT_NO_ACCESSIBILITY -#define QVERIFY_EVENT(object, child, event) \ - QVERIFY(QTestAccessibility::verifyEvent(object, child, (int)event)) +#define QVERIFY_EVENT(event) \ + QVERIFY(QTestAccessibility::verifyEvent(event)) #include #include @@ -63,22 +63,21 @@ QT_BEGIN_NAMESPACE class QObject; -struct QTestAccessibilityEvent -{ - QTestAccessibilityEvent(QObject* o = 0, int c = 0, int e = 0) - : object(o), child(c), event(e) {} +typedef QList EventList; - bool operator==(const QTestAccessibilityEvent &o) const - { - return o.object == object && o.child == child && o.event == event; +bool operator==(const QAccessibleEvent &l, const QAccessibleEvent &r) +{ + if (l.type() != r.type() || + l.object() != r.object() || + l.child() != r.child()) + return false; + + if (l.type() == QAccessible::StateChanged) { + return static_cast(&l)->changedStates() + == static_cast(&r)->changedStates(); } - - QObject* object; - int child; - int event; -}; - -typedef QList EventList; + return true; +} class QTestAccessibility { @@ -90,6 +89,7 @@ public: qAddPostRoutine(cleanup); } } + static void cleanup() { delete instance(); @@ -97,18 +97,13 @@ public: } static void clearEvents() { eventList().clear(); } static EventList events() { return eventList(); } - static bool verifyEvent(const QTestAccessibilityEvent& ev) + static bool verifyEvent(const QAccessibleEvent& ev) { if (eventList().isEmpty()) return FALSE; return eventList().takeFirst() == ev; } - static bool verifyEvent(QObject *o, int c, int e) - { - return verifyEvent(QTestAccessibilityEvent(o, c, e)); - } - private: QTestAccessibility() { @@ -136,8 +131,15 @@ private: static void updateHandler(const QAccessibleEvent &event) { - // qDebug("updateHandler called: %p %d %d", o, c, (int)e); - eventList().append(QTestAccessibilityEvent(event.object(), event.child(), (int)event.type())); + eventList().append(copyEvent(event)); + } + + static QAccessibleEvent copyEvent(const QAccessibleEvent &event) + { + if (event.type() == QAccessible::StateChanged) + return QAccessibleStateChangeEvent(static_cast(&event)->changedStates(), + event.object(), event.child()); + return QAccessibleEvent(event.type(), event.object(), event.child()); } static EventList &eventList() -- cgit v1.2.3