Files
Agent-System/web/src/lib/documentBlockDom.test.ts
T
weichenandCursor 9e0901ce25 feat(web): mark real document blocks without overlay
Add data-testid=document-block plus block id on every wrapper so
pure-mode editors stay addressable without changing visuals.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 17:24:54 +00:00

29 lines
1.2 KiB
TypeScript

import { describe, it } from 'node:test';
import assert from 'node:assert/strict';
import {
DOCUMENT_BLOCK_TESTID,
documentBlockDomAttrs,
} from './documentBlockDom';
describe('documentBlockDomAttrs', () => {
it('marks a real DocumentBlock in pure mode without overlay kind', () => {
const attrs = documentBlockDomAttrs({ id: 'blk_intake_p1' });
assert.equal(attrs['data-testid'], DOCUMENT_BLOCK_TESTID);
assert.equal(attrs['data-testid'], 'document-block');
assert.equal(attrs['data-document-block'], 'blk_intake_p1');
assert.equal(attrs['data-block-id'], 'blk_intake_p1');
assert.equal('data-overlay-kind' in attrs, false);
});
it('keeps the same stable attrs when overlay is later attached separately', () => {
const pure = documentBlockDomAttrs({ id: 'blk_h1' });
const withOverlay = {
...documentBlockDomAttrs({ id: 'blk_h1' }),
'data-overlay-kind': 'modify',
};
assert.equal(pure['data-document-block'], withOverlay['data-document-block']);
assert.equal(pure['data-testid'], withOverlay['data-testid']);
assert.notEqual(Object.prototype.hasOwnProperty.call(pure, 'data-overlay-kind'), true);
});
});