Add tests for symbol levels (PR #13305)
Related to issue #11779, #10855, and PR #12710
Summary:
There a number of pre-existing problems with symbol pronunciation in NVDA.
They are hard to reason about due to the variety of settings that can affect behavior.
Examples with Symbol level all:
- '👕' symbol ("t-shirt") spoken as 't dash shirt' when moving by word or character
- Text "don't" spoken as "don tick t" when moving by word
- Symbols in NVDA speech UI (EG "spelling error" in French "Faute d'orthographe") are processed as symbols. The example
"Faute d'orthographe" becomes "Faute d apostrophe orthographe", equivalent to "spelling e tick rror" in English, except
that "apostrophe" is a longer word than "tick".
Description of change:
Does not introduce user visible changes, intended to help developers reason about the behavior of NVDA.
In tests Symbol level All and None are used as the boundary cases for behavior.
The tests are introduced to demonstrate behavior with:
- Moving by word, line, character.
- Selecting by word, line, character.
- Symbol Level All when speech UI contains a symbol. For this, the System Test Spy global plugin had to be modified to alter translation strings of NVDA at runtime.
- Secondary (contextual) content containing symbols. EG column headers spoken when moving between cell boundaries.