import assert from 'node:assert/strict'; import test from 'node:test'; import { MINDSPACE_PAGE_CONTENT_MESSAGE, buildEditablePreviewDocument, } from './src/utils/mindspaceVisualEditor.ts'; test('buildEditablePreviewDocument injects visual editor into body', () => { const html = '
Hi
'; const result = buildEditablePreviewDocument(html); assert.match(result, /mindspace-visual-editor-style/); assert.match(result, /mindspace-visual-editor-script/); assert.match(result, /data-mindspace-editing/); assert.match(result, /Hi<\/p>/); assert.match(result, new RegExp(MINDSPACE_PAGE_CONTENT_MESSAGE.replace(':', '\\:'))); assert.match(result, /data-collapsed/); assert.match(result, /5000/); assert.match(result, /点击展开/); assert.match(result, /isProtectedNode/); }); test('buildEditablePreviewDocument normalizes platform brand line', () => { const html = '
📧 contact@tkmind.ai
'; const result = buildEditablePreviewDocument(html); assert.match(result, /TKMind · 智趣/); assert.match(result, /data-mindspace-page-tag="platform-brand"/); assert.doesNotMatch(result, /contact@tkmind\.cn/i); assert.doesNotMatch(result, /tkmind\.ai/i); }); test('buildEditablePreviewDocument wraps fragment html', () => { const result = buildEditablePreviewDocument('