More fixes for menus and combo boxes.

This commit is contained in:
ak47 committed 2026-10-11 00:10:21 -04:00
1 parent 67ebc28d15
commit 872388a59b
11 files changed
+392 -35

No files matched your search

+34 -1
View File
@@ -2,7 +2,7 @@
Build the project, then run `python3 tests/menu_integration.py --build-dir build`
from the repository root in a graphical session. Dependencies are Wine,
MinGW's x86_64 C compiler, PyGObject, and `dbus-run-session`.
MinGW's x86_64 and i686 C compilers, PyGObject, and `dbus-run-session`.
The test creates a temporary Wine prefix and a private D-Bus service. Its
64-bit PE application exercises the separately running Winelib helper's
@@ -108,6 +108,39 @@ reader's `docs/testing/wine-accessibility.md` for current evidence and live
acceptance gates. Run Xvfb fixtures sequentially; concurrent automatic display
allocation can collide.
## GoldWave menus and combo boxes
The helper supplies both 32-bit and 64-bit menu hooks. Check both architectures:
```sh
xvfb-run -a python3 tests/menu_integration.py --fixture menu
xvfb-run -a python3 tests/menu_integration.py --fixture menu --32-bit
xvfb-run -a python3 tests/menu_integration.py --fixture controls
xvfb-run -a python3 tests/menu_integration.py --fixture controls --32-bit
xvfb-run -a python3 tests/menu_integration.py --fixture goldwave --goldwave-exe /path/to/GoldWave.exe
```
The controls fixture changes a combo selection without emitting a value
WinEvent. It requires the new value while focus stays on the combo, with the
same source identity as its focus event. This catches both missing polling and
Wine's misleading focus notifications for the combo's internal list.
The optional GoldWave 5.70 fixture copies the application directory into a
temporary directory and uses a fresh Wine prefix with Force screen reader
mode enabled. It waits for the actual main form, dismisses the first-run
settings prompt in the test copy, and drives Alt+F, menu arrows, Ctrl+O and
file-type combo Down/Down/Up using SendInput. On October 11 it received File,
New, Open and unavailable Close menu events, followed by Wave/MPEG Audio/Wave
value updates without tabbing away. This confirms helper events through the
private D-Bus recorder; audible speech and physical braille need live checks.
Install all five helper artifacts together, restart Cthulhu, and reopen
GoldWave. With screen reader mode enabled, check File and other menus with
Alt and arrows, then Escape back to the previous control. In Open Sound,
check Files of type and Look in with arrows: expect the new value immediately
in speech and braille, with keyboard focus remaining on the combo. Repeat
Tab/Shift+Tab and Alt+Down/Escape dropdown opening and closing.
## Notepad++ / Scintilla checks
Use a locally available 64-bit Notepad++ executable: