diff --git a/web/src/engine/renderers.test.ts b/web/src/engine/renderers.test.ts
index 6e45eb21..849cff49 100644
--- a/web/src/engine/renderers.test.ts
+++ b/web/src/engine/renderers.test.ts
@@ -7,6 +7,7 @@ import {
parseInlineContent,
latexToOmml,
sanitizeMermaidCode,
+ cleanSvgForCanvas,
} from './docxRenderer';
import { buildXlsxWorkbook, exportDocumentToXlsx } from './xlsxRenderer';
import { Packer, ImportedXmlComponent } from 'docx';
@@ -71,6 +72,15 @@ test('DOCX 渲染器 Mermaid 语法净化与容错测试 (sanitizeMermaidCode)',
assert.ok(sanitized.includes('Display["4K医用级超低延迟监视器 (延时 < 35ms)"]'));
});
+test('DOCX 渲染器 SVG 净化防 Canvas 污染测试 (cleanSvgForCanvas)', () => {
+ const dirtySvg = ``;
+ const cleaned = cleanSvgForCanvas(dirtySvg);
+
+ assert.ok(!cleaned.includes('@import'), '应彻底剥离 @import 外部网络字体');
+ assert.ok(!cleaned.includes(',杜绝 Tainted Canvas');
+ assert.ok(cleaned.includes('双CMOS分光棱镜'), '必须保留节点文本内容');
+});
+
test('DOCX 渲染器全量编译测试 (buildDocxModel & exportDocumentToDocx)', async () => {
const ast = markdownToBlockAST(SAMPLE_MD, {
docId: 'doc_docx_test_001',