3b82c2d167
On Android we had 10 failing unit-tests in tst_qaccessibility One of them was failing because on Android QMdiSubWindow is created maximized by default, so we need to explicitly call showNormal() on it before doing all the checks. Other 9 were failing because we didn't get A11Y events when expected. This is a bit more tricky. On Android a11y state is not explicitly set by calling QPlatformAccessibility::setActive(), there is another flag that is controller from the Java side. It is set to 'true' only when some of the a11y services are enabled on the device. The state of this flag is queried during event processing, so a11y state can be reset to false while we do QTest::qWait(). This logic is absolutely correct for real applications, but it is a problem for the test case, because we can't easily enable a11y services in the CI. To overcome the issue in unit-tests, re-enable a11y before each test. A more precise fix will require re-enabling it after every qWait() or processEvents() call, but the current tests pass with such condition. Fixes: QTBUG-87674 Pick-to: 6.3 6.2 Change-Id: I6f765bc6d3aaeaa19aba3a64473ea25e9cbdb0f8 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> |
||
---|---|---|
.. | ||
.gitignore | ||
accessiblewidgets.h | ||
CMakeLists.txt | ||
tst_qaccessibility.cpp |