Solaar/tests
Daniel Banariba 4c91549a22 fix(ui): stop the passcode page telling the user things it cannot know
Four claims on the Bolt passcode page were not backed by anything the receiver
reports.

The page decided that "This receiver does not report entry progress" from a
three-second wall-clock timer since the page appeared. The receiver being silent
and the user still reading the sequence are indistinguishable from there, and the
user has ten numbered steps to read first, so the sentence fired on essentially
every pairing, including receivers that do report progress, and was then
contradicted by the first press. It also dropped the highlight to None, so the
strip visibly lost and regained its current-step ring on the normal path. Drop
the timer and the claim: the count stands at zero and step one stays highlighted
until the receiver says otherwise.

The status line counted "clicks" on keyboards too, so someone typing digits and
pressing enter was told how many clicks had registered, and translators were
asked to translate a sentence that is wrong for half the devices it appears on.
Pick the wording from the device instead, spelling both variants out in full so
each reaches the catalogs as a whole sentence.

For mice the literal left/right sequence survived only as a tooltip and an
accessible description on a drawing area, so it was in no label on the page at
all, which is exactly what the code's own comment said had to be avoided. Keep it
as a dim label under the strip, and name the drawing area after it as well, since
screen readers announce the name before the description.

The unreadable-passcode fallback told the user to type the passcode and press
enter. Keyboards always produce steps, so that branch is only ever reached by a
device with no keys, and the raw passcode it printed is by definition unprintable
garbage. Say that the passcode could not be read and point at the retry instead.

Adds regression tests for all four; each one fails against the previous behaviour.
2026-08-13 17:18:15 -06:00
..
hid_parser Introduce hid_parser tests 2024-09-15 09:19:13 -04:00
hidapi hidapi: Explicitly load hidapi/udev implementation 2024-10-11 07:42:38 -04:00
logitech_receiver receiver: record passkey entry progress from the receiver 2026-08-13 16:42:25 -06:00
solaar fix(ui): stop the passcode page telling the user things it cannot know 2026-08-13 17:18:15 -06:00
test_keysyms keysyms: Introduce tests for this package 2024-10-11 07:42:38 -04:00
__init__.py tests: Introduce tests with pytest 2024-02-10 13:58:20 -05:00
conftest.py tests: mock the libnotify backend so the suite raises no real notifications 2026-05-21 10:15:12 -04:00