diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/other/qaccessibility/tst_qaccessibility.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/auto/other/qaccessibility/tst_qaccessibility.cpp b/tests/auto/other/qaccessibility/tst_qaccessibility.cpp index de0942ba08..fa9f2a5866 100644 --- a/tests/auto/other/qaccessibility/tst_qaccessibility.cpp +++ b/tests/auto/other/qaccessibility/tst_qaccessibility.cpp @@ -4288,10 +4288,20 @@ void tst_QAccessibility::messageBoxTest() if (!boxPrivate->canBeNativeDialog()) { // platforms that use a native message box will not emit accessibility events box.show(); + QVERIFY(QTest::qWaitForWindowActive(&box)); QAccessibleEvent showEvent(&box, QAccessible::DialogStart); QVERIFY(QTestAccessibility::containsEvent(&showEvent)); + // on some platforms, like macOS, not all widgets get key board focus; we + // only care about a push button getting focus + if (QTest::qWaitFor([&box]{ return qobject_cast<QPushButton *>(box.focusWidget()); }, 1000)) { + // a widget that gets focus through window activation should not emit an accessibility + // notification + QAccessibleEvent focusEvent(box.focusWidget(), QAccessible::Focus); + QVERIFY(!QTestAccessibility::containsEvent(&focusEvent)); + } + box.hide(); QAccessibleEvent hideEvent(&box, QAccessible::DialogEnd); |