feat: consolidate legacy parity migration baseline

This commit is contained in:
2026-07-20 22:06:12 +09:00
parent 5eb4054120
commit 4a54977341
66 changed files with 5391 additions and 460 deletions

View File

@@ -77,20 +77,20 @@ test("cut focus is roving and scrolls only for keyboard navigation", () => {
assert.equal(rows[1].scrollCount, 1);
});
test("cut key intent preserves Home End bubbling and honors the mutation gate", () => {
test("cut key intent preserves Home End bubbling and stable PROGRAM selection", () => {
const start = app.indexOf("function createCutElement");
const end = app.indexOf("function renderCuts", start);
const factory = app.slice(start, end);
assert.match(factory, /element\.addEventListener\("keydown"/);
assert.match(factory, /event\.preventDefault\(\)/);
assert.match(factory, /if \(playlistMutationLocked\) return/);
assert.match(factory, /if \(!cutSelectionEnabled\) return/);
assert.match(factory, /send\("cut-key-down", \{/);
assert.match(factory, /control: event\.ctrlKey/);
assert.match(factory, /shift: event\.shiftKey/);
assert.doesNotMatch(factory, /stopPropagation/);
assert.match(nativeWindow, /LegacyCutKeyDownIntent key => _controller\.CutKeyDown/);
assert.match(nativePlayout, /LegacyCutKeyDownIntent or/);
assert.doesNotMatch(nativePlayout, /LegacyCutKeyDownIntent or/);
});
test("rendered cut rows expose authoritative focus without replacing DOM rows", () => {