fix #FA4-mechanism-SF-6: assert (not just print) the live-DAT checkbox labels and Open/Close captions
SocialPanelLiveMountProbeTests wrote the four checkbox labels and the two
Open/Close captions to the console with no assertion, yet the FA4 ledger's
live-DAT paragraph cited them as verified -- the same finding FA3's own
mechanism SF-3 raised for a different table ("printed but never asserted
-- deserves a real assertion, not just a hope"). Now asserts each label is
non-null/non-empty and the two captions equal the exact retail strings
"Open"/"Close". Env-gated (ACDREAM_PROBE_LIVE_MOUNT=1, real installed
DATs) -- inert in this session's build/test run.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
300d8189f6
commit
55b17e15fd
1 changed files with 16 additions and 9 deletions
|
|
@ -181,7 +181,10 @@ public sealed class SocialPanelLiveMountProbeTests
|
|||
|
||||
// Checkbox labels/tooltips (0x23000003) and the Open/Close caption
|
||||
// pair (0x23000001) — the two string tables SocialFellowshipPageController
|
||||
// resolves at Bind time (lane A §4.3).
|
||||
// resolves at Bind time (lane A §4.3). Fix-round SF-6: these were
|
||||
// previously PRINTED but never asserted even though the ledger's
|
||||
// live-DAT paragraph cited them as verified — the same finding
|
||||
// FA3's own mechanism SF-3 raised for a different table.
|
||||
foreach (string retailName in new[]
|
||||
{
|
||||
"IgnoreFellowshipRequests", "FellowshipAutoAcceptRequests",
|
||||
|
|
@ -190,15 +193,19 @@ public sealed class SocialPanelLiveMountProbeTests
|
|||
{
|
||||
string? label = strings.Resolve(0x23000003u, DatStringResolver.ComputeHash($"ID_PlayerOption_{retailName}"));
|
||||
Console.WriteLine($"[socialprobe] checkbox label ID_PlayerOption_{retailName} -> '{label}'");
|
||||
Assert.False(
|
||||
string.IsNullOrEmpty(label),
|
||||
$"checkbox label ID_PlayerOption_{retailName} (table 0x23000003) did not resolve.");
|
||||
}
|
||||
foreach (string key in new[]
|
||||
{
|
||||
"ID_Fellowship_OpenFellowshipButtonText", "ID_Fellowship_CloseFellowshipButtonText",
|
||||
})
|
||||
{
|
||||
string? label = strings.Resolve(0x23000001u, DatStringResolver.ComputeHash(key));
|
||||
Console.WriteLine($"[socialprobe] fellowship caption {key} -> '{label}'");
|
||||
}
|
||||
|
||||
string? openLabel = strings.Resolve(
|
||||
0x23000001u, DatStringResolver.ComputeHash("ID_Fellowship_OpenFellowshipButtonText"));
|
||||
string? closeLabel = strings.Resolve(
|
||||
0x23000001u, DatStringResolver.ComputeHash("ID_Fellowship_CloseFellowshipButtonText"));
|
||||
Console.WriteLine($"[socialprobe] fellowship caption ID_Fellowship_OpenFellowshipButtonText -> '{openLabel}'");
|
||||
Console.WriteLine($"[socialprobe] fellowship caption ID_Fellowship_CloseFellowshipButtonText -> '{closeLabel}'");
|
||||
Assert.Equal("Open", openLabel);
|
||||
Assert.Equal("Close", closeLabel);
|
||||
|
||||
// Full end-to-end Bind against the PRODUCTION mount (the same
|
||||
// resolver/scrollbar/frame wiring MountSocialPanel does) — proves
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue