1.8 KiB
Audacious GUI verification
The shared AT-SPI table handling recognizes Qt trees exposing the Table interface and GTK list tables. A uniquely selected row can restore its showing, focused cell after a menu closes. Multiple selected rows must not produce a guessed focus target. GUI full-row speech omits cells that are not showing. When Qt hides a submenu without a focus event, its parent action is accepted only with fresh provider focus and visibility evidence.
Run python3 tests/native_audacious.py with Audacious's Qt and GTK interfaces,
Xvfb, i3, xdotool, Python gi/pyatspi, and the native build dependencies installed.
The harness creates temporary tracks and private configuration, display and
D-Bus sessions. It checks queued speech and Braille for playlists, nested menus,
the playlist manager, settings, and context menus. It does not verify audible
speech or a physical Braille display. Also run the
generic Qt checks.
For live acceptance:
- Quit Cthulhu with Cthulhu+Q. Press Ctrl+Escape, then Shift+G to rebuild and launch it. These are separate key presses.
- In an Audacious playlist, move between tracks. Expect the selected track's visible row content in speech and the focused cell on Braille, without hidden filename/path columns.
- Open Playlist's Sort submenu. Move through commands, then press Left and Escape. Expect the parent menu item on return and the original track when the menus close; arrow keys must continue moving through tracks.
- Open Settings, Tab and Shift+Tab through controls, then close it. Expect each focused control and restoration of the playlist. Unfocused password-field initialization must not be announced.
- Repeat with the other interface when available. Record the exact speech, Braille, focused control and key sequence for any discrepancy.