




















@@ -747,7 +747,14 @@ describe("config view", () => {
747747details.dispatchEvent(new Event("toggle"));
748748const revealButton = queryRequired(container, ".config-raw-toggle", HTMLButtonElement);
749749revealButton.click();
750-expect(normalizedText(container)).toContain("TOKEN_A_AFTER");
750+const revealedItem = queryRequired(container, ".config-diff__item", HTMLElement);
751+expect(revealedItem.querySelector(".config-diff__path")?.textContent?.trim()).toBe("token");
752+expect(revealedItem.querySelector(".config-diff__from")?.textContent?.trim()).toBe(
753+'"TOKEN_A_BEFORE"',
754+);
755+expect(revealedItem.querySelector(".config-diff__to")?.textContent?.trim()).toBe(
756+'"TOKEN_A_AFTER"',
757+);
751758752759props.configPath = "/tmp/openclaw-b.json5";
753760props.raw = '{\n token: "TOKEN_B_AFTER"\n}\n';
@@ -760,12 +767,30 @@ describe("config view", () => {
760767};
761768rerender();
762769763-const text = normalizedText(container);
764-expect(text).toContain("1 secret redacted");
765-expect(text).not.toContain("TOKEN_A_AFTER");
766-expect(text).not.toContain("TOKEN_B_AFTER");
770+expect(
771+queryRequired(container, ".config-raw-field .pill", HTMLElement)
772+.textContent?.replace(/\s+/g, " ")
773+.trim(),
774+).toBe("1 secret redacted");
775+expect(
776+queryRequired(container, ".config-raw-field .callout.info", HTMLElement)
777+.textContent?.replace(/\s+/g, " ")
778+.trim(),
779+).toBe("1 sensitive value hidden. Use the reveal button above to edit the raw config.");
767780expect(container.querySelector("textarea")).toBeNull();
768-expect(container.querySelector<HTMLDetailsElement>(".config-diff")?.open).toBe(false);
781+const nextDetails = queryRequired(container, ".config-diff", HTMLDetailsElement);
782+expect(nextDetails.open).toBe(false);
783+784+nextDetails.open = true;
785+nextDetails.dispatchEvent(new Event("toggle"));
786+const redactedItem = queryRequired(container, ".config-diff__item", HTMLElement);
787+expect(redactedItem.querySelector(".config-diff__path")?.textContent?.trim()).toBe("token");
788+expect(redactedItem.querySelector(".config-diff__from")?.textContent?.trim()).toBe(
789+"[redacted - click reveal to view]",
790+);
791+expect(redactedItem.querySelector(".config-diff__to")?.textContent?.trim()).toBe(
792+"[redacted - click reveal to view]",
793+);
769794});
770795771796it("redacts raw diff values under leaf wildcard sensitive hints when keys contain dots", () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。