| | |
| | | require(focused[0].get("label") == "B1", "hovered multi-display Space must be B1") |
| | | require("focused" in focused[0].get("visualStates", []), "focused B1 segment must expose focused visual state") |
| | | |
| | | idle_empty_segments = [ |
| | | empty_segments = [ |
| | | segment for segment in segments |
| | | if segment.get("windowCount") == 0 |
| | | and segment.get("isFocused") is not True |
| | | and segment.get("isCurrent") is not True |
| | | and segment.get("isAppAssociated") is not True |
| | | and segment.get("isWindowAssociated") is not True |
| | | ] |
| | | require(idle_empty_segments, "multi-display visual fixture must include at least one idle empty Space") |
| | | require(empty_segments, "multi-display visual fixture must include at least one empty Space") |
| | | require( |
| | | all(segment.get("backgroundKind") == "clear" for segment in idle_empty_segments), |
| | | "idle empty Spaces must not keep a dirty gray fill" |
| | | {"A3", "B1"}.issubset({segment.get("label") for segment in empty_segments}), |
| | | "multi-display visual fixture must include the A3/B1 empty Space regression pair" |
| | | ) |
| | | require( |
| | | all(segment.get("backgroundKind") == "clear" for segment in empty_segments), |
| | | "empty Spaces must not keep a dirty gray fill, even when focused/current/associated" |
| | | ) |
| | | require( |
| | | all(not segment.get("gradientColors", []) for segment in empty_segments), |
| | | "empty Spaces must clear stale gradient colors" |
| | | ) |
| | | require( |
| | | all(segment.get("backgroundColor", {}).get("alpha", 1) <= 0.01 for segment in empty_segments), |
| | | "empty Spaces must keep transparent fill" |
| | | ) |
| | | require( |
| | | all(segment.get("shadowOpacity", 1) <= 0.01 for segment in empty_segments), |
| | | "empty Spaces must not draw a shadow that reads as an interior gray fill" |
| | | ) |
| | | idle_occupied_segments = [ |
| | | segment for segment in segments |