/* list-marker.test.ts — hasLineMarker 行首列表标记检测验证 */ import { describe, it, expect } from 'vitest' import { hasLineMarker } from '../src/core/richtext' describe('hasLineMarker 行首列表标记检测', () => { it('圈号 ①-⑳ 识别为标记', () => { expect(hasLineMarker('① 第一点')).toBe(true) expect(hasLineMarker('⑳ 最后一点')).toBe(true) }) it('阿拉伯数字+点/顿/括号 识别为标记', () => { expect(hasLineMarker('1. 标题')).toBe(true) expect(hasLineMarker('12、要点')).toBe(true) expect(hasLineMarker('3)要点')).toBe(true) expect(hasLineMarker('(4). 要点')).toBe(true) expect(hasLineMarker('5.全角点')).toBe(true) }) it('圆点类符号识别为标记', () => { expect(hasLineMarker('- 要点')).toBe(true) expect(hasLineMarker('• 要点')).toBe(true) expect(hasLineMarker('· 要点')).toBe(true) expect(hasLineMarker('▪ 要点')).toBe(true) expect(hasLineMarker('● 要点')).toBe(true) expect(hasLineMarker('○ 要点')).toBe(true) expect(hasLineMarker('* 强调')).toBe(true) }) it('中文数字+点顿 识别为标记', () => { expect(hasLineMarker('一、概述')).toBe(true) expect(hasLineMarker('十二. 展开')).toBe(true) expect(hasLineMarker('十.收尾')).toBe(true) }) it('行首空白不影响检测', () => { expect(hasLineMarker(' ① 缩进的圈号')).toBe(true) expect(hasLineMarker('\t- 制表符开头的圆点')).toBe(true) }) it('普通文本返回 false', () => { expect(hasLineMarker('华东 Q3 增长 23%')).toBe(false) expect(hasLineMarker('第一点(无标点编号)')).toBe(false) expect(hasLineMarker('')).toBe(false) expect(hasLineMarker('2026 年趋势')).toBe(false) expect(hasLineMarker('1 比 2 更好')).toBe(false) }) })