test(ui): align top bar mode guard with live decision
This commit is contained in:
+13
-15
@@ -1,25 +1,23 @@
|
||||
# HANDOFF — 2026-11-02 (test failure follow-up)
|
||||
# HANDOFF — 2026-11-02 (Logs tab + test sweep)
|
||||
|
||||
## State
|
||||
|
||||
- `main`; local only, not pushed. Logs tabs: `9fa06c6`; YPP fixture: `3985a41`.
|
||||
- Stale test assumptions corrected: scoreboard pill `221b816`, property hierarchy `91e308e`, geometry
|
||||
gate `82609a5`, notification theme `caf91e6`, dev-build gate `0e1f948`, Settings gear `e6a7147`.
|
||||
- `MicBayTests` now expects the designed 0 dB maximum; committed as `c9bd7e6`.
|
||||
- `PillRadioTests` now explicitly sets EDIT off for its signed-out Go Live assertion; focused test
|
||||
passes. This task is ready to commit.
|
||||
- Clean app build is 0 warnings. Full suite: 1 failed / 521 passed of 522.
|
||||
- `main`; all work is committed locally, not pushed.
|
||||
- Non-edit left panel has Live Chat and Logs tabs. Logs shows the newest 500 AppLog entries from
|
||||
this process only; file format and rotation are unchanged. Feature commit: `9fa06c6`.
|
||||
- The 13 failures from the prior full-suite run were resolved in separate focused commits; see
|
||||
`git log` for each test-failure task.
|
||||
- `./scripts/verify.sh` passes: clean app build, 0 warnings, 522/522 tests, scope check.
|
||||
|
||||
## Next action
|
||||
|
||||
Commit the PillRadio setup update, then resolve the last remaining test failure. Do not push absent
|
||||
a milestone/checkpoint request.
|
||||
Day 1 queued item: SystemMessage + MessageCenter strip. Keep one integration test per change. Do not
|
||||
push absent a milestone/checkpoint request.
|
||||
|
||||
## Landmines
|
||||
|
||||
- Build/test with Windows `dotnet.exe`; the full suite can hang in WASAPI teardown.
|
||||
- `verify.sh` remains red until the last failure is fixed; run scope-check separately when
|
||||
it exits early.
|
||||
- Any integration test constructing `MainWindow` must use a temporary `LayoutPathOverride` and clear
|
||||
it in `finally`.
|
||||
- Build/test with Windows `dotnet.exe`; full suite can hang in WASAPI teardown.
|
||||
- Any integration test constructing `MainWindow` must use a temporary `LayoutPathOverride` and
|
||||
clear it in `finally`.
|
||||
- Debug-only `InternalsVisibleTo` remains an outstanding release check.
|
||||
- Bundled FFmpeg stays outside the single-file exe (`ExcludeFromSingleFile="true"`).
|
||||
|
||||
@@ -44,6 +44,7 @@ public sealed class TopBarModeTests
|
||||
// The dev machine may hold a real saved OAuth session (loads synchronously
|
||||
// during the ctor), so the sign-in state is forced deterministically.
|
||||
vm.IsConnected = false;
|
||||
vm.EditingActive = false; // EDIT off selects Go Live instead of Test Stream.
|
||||
|
||||
// Default (nothing armed) = the Record world: Go says "Start Recording",
|
||||
// no Test — but the account zone is app-level and stays (signed out →
|
||||
@@ -94,7 +95,7 @@ public sealed class TopBarModeTests
|
||||
vm.IsRecording = false;
|
||||
vm.StreamStatus = StreamStatus.Streaming;
|
||||
Assert.Equal("LIVE", vm.RunningText);
|
||||
Assert.Equal("#e94560", vm.RunningDotBrush);
|
||||
Assert.Equal("#ff5451", vm.RunningDotBrush);
|
||||
vm.IsTestStream = true;
|
||||
Assert.Equal("TEST", vm.RunningText);
|
||||
Assert.Equal("#9c6f1c", vm.RunningDotBrush);
|
||||
@@ -106,4 +107,4 @@ public sealed class TopBarModeTests
|
||||
try { File.Delete(tempDb); } catch { /* best-effort cleanup */ }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user