fix: allow safe fresh-clone DryRun builds

This commit is contained in:
2026-07-24 14:03:29 +09:00
parent b050f2f06c
commit 68a41194c9
15 changed files with 420 additions and 40 deletions

View File

@@ -204,6 +204,12 @@ test("appearance controls and accessibility preferences retain clear feedback",
test("workspace header keeps one concise title and the live native connection state", () => {
assert.match(markup,
/class="brand"[\s\S]*?class="brand-wordmark-plate"[\s\S]*?<img class="brand-wordmark" src="Brand\/logo\.png" width="176" height="43"[\s\S]*?alt="매일경제TV" draggable="false">[\s\S]*?class="brand-divider" aria-hidden="true"[\s\S]*?class="brand-product">V-STOCK<\/span>/);
assert.match(markup,
/class="brand-wordmark-fallback">매일경제TV<\/span>/);
assert.match(styles,
/\.brand-wordmark-plate\.wordmark-fallback-active \.brand-wordmark-fallback\s*\{[^}]*visibility:\s*visible/);
assert.match(styles,
/\.brand-wordmark-plate\.wordmark-fallback-active \.brand-wordmark\s*\{[^}]*display:\s*none/);
assert.doesNotMatch(markup, /class="brand-symbol"|class="brand-lockup"|>VRi</);
assert.match(markup,
/class="workspace-heading"[\s\S]*?class="workspace-heading-icon"[\s\S]*?<div class="workspace-heading-copy">[\s\S]*?<h1 id="workspace-title">[^<]+<\/h1>/);

View File

@@ -510,6 +510,15 @@ test("workspace navigation stores only the approved local presentation preferenc
assert.doesNotMatch(navigation, /postMessage|sessionStorage|send\s*\(/);
});
test("missing external wordmark uses the source-only text fallback", () => {
assert.match(navigation,
/brandWordmark\.addEventListener\("error", showBrandWordmarkFallback, \{ once: true \}\)/);
assert.match(navigation,
/brandWordmark\.complete && brandWordmark\.naturalWidth === 0/);
assert.match(navigation,
/classList\.add\("wordmark-fallback-active"\)/);
});
test("splitter clamps pointer and keyboard resizing and Escape restores the gesture", () => {
for (const declaration of [
/const scheduleMinimumPercent = 34/,