Skip to content

v1.1.3

Choose a tag to compare

@github-actions github-actions released this 19 Oct 13:32
· 23 commits to main since this release

This release finishes what 1.1.2 started for a terminal client's cases. The repair to typing into a
terminal is now proven, a full-screen mode can be checked rather than inferred, and a case that runs
first or alone can type. One change adds new format. Two change something an existing suite may
notice
, and they are marked.

The terminal repair is proven

1.1.2 taught type to repair the last-character substitution on a terminal. That was unproven until
an adopter ran it: quickshell's tab case, which had failed two runs in about twenty, passed 300 of
300
guest runs in a row on 1.1.2. The repair fired on two of them, one resend each, and each of
those traces says so. No code changed for this; it is why the repair can be relied on.

A step can claim an element covers its monitor

{ "locator": "Document#terminal", "act": "read", "fillsMonitor": true }

fillsMonitor claims this step's element covers the whole of the monitor it is mostly on. A case
pressing F11 could read that the title bar had gone, but not that what was left filled the screen, so
a full screen that kept a border passed. Point it at what should fill the screen (the terminal, the
video, the canvas) rather than only at what went away.

A failure names both rectangles and each edge left uncovered, in pixels: 8px at the right, 8px at the bottom is a size taken from the wrong rectangle, and a strip at the bottom alone is usually the
taskbar. Half a pixel of slack, read with no reads, and the case never names a monitor, so it
passes on whichever display the window was put on. It is a claim about rectangles, never about the
colour of a pixel.

A window launched first in its run comes forward

(May notice.) Windows lets a newly started application take the foreground only when the process
that started it could. A test host that had sent no input could not. So a case first in its run, or
one soaked alone, waited out its whole budget behind Program Manager and came back Degraded, while
the same case passed inside a full run.

A launch now sends one mouse move of no distance before it starts anything, then hands the started
process the foreground by its pid. The cursor does not move, and the run counts the move as its own
input, never a person's. The machine's foreground-lock setting is not touched.
LaunchedProcess.Handed says whether the hand-off landed. Where a window still does not come
forward, the hole now ends by saying whether the launch could hand it the foreground. If it could,
the application declined to come forward; if it could not, the desk refused.

If your harness sends input of its own before each launch to get around this, you can delete it.

Smaller

(May notice.) The two lines a run writes about catches now agree with a count of one in every
word. One case used to print "1 case that ran say what they catch"; it now reads "1 case that ran
says what it catches". A test asserting the old wording sees the new one.

Installing

<PackageReference Include="Winwright" Version="1.1.3" />
<PackageReference Include="Winwright.InApp" Version="1.1.3" />

Full Changelog: v1.1.2...v1.1.3