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
|
// Checkbox labels/tooltips (0x23000003) and the Open/Close caption
|
||||||
// pair (0x23000001) — the two string tables SocialFellowshipPageController
|
// 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[]
|
foreach (string retailName in new[]
|
||||||
{
|
{
|
||||||
"IgnoreFellowshipRequests", "FellowshipAutoAcceptRequests",
|
"IgnoreFellowshipRequests", "FellowshipAutoAcceptRequests",
|
||||||
|
|
@ -190,15 +193,19 @@ public sealed class SocialPanelLiveMountProbeTests
|
||||||
{
|
{
|
||||||
string? label = strings.Resolve(0x23000003u, DatStringResolver.ComputeHash($"ID_PlayerOption_{retailName}"));
|
string? label = strings.Resolve(0x23000003u, DatStringResolver.ComputeHash($"ID_PlayerOption_{retailName}"));
|
||||||
Console.WriteLine($"[socialprobe] checkbox label ID_PlayerOption_{retailName} -> '{label}'");
|
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[]
|
|
||||||
{
|
string? openLabel = strings.Resolve(
|
||||||
"ID_Fellowship_OpenFellowshipButtonText", "ID_Fellowship_CloseFellowshipButtonText",
|
0x23000001u, DatStringResolver.ComputeHash("ID_Fellowship_OpenFellowshipButtonText"));
|
||||||
})
|
string? closeLabel = strings.Resolve(
|
||||||
{
|
0x23000001u, DatStringResolver.ComputeHash("ID_Fellowship_CloseFellowshipButtonText"));
|
||||||
string? label = strings.Resolve(0x23000001u, DatStringResolver.ComputeHash(key));
|
Console.WriteLine($"[socialprobe] fellowship caption ID_Fellowship_OpenFellowshipButtonText -> '{openLabel}'");
|
||||||
Console.WriteLine($"[socialprobe] fellowship caption {key} -> '{label}'");
|
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
|
// Full end-to-end Bind against the PRODUCTION mount (the same
|
||||||
// resolver/scrollbar/frame wiring MountSocialPanel does) — proves
|
// resolver/scrollbar/frame wiring MountSocialPanel does) — proves
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue