import { describe, expect, it } from 'vitest' import { escapeMarkdown, noteDecoration } from './noteItem' describe('树上的一行', () => { it('没有注释的行保持原样', () => { expect(noteDecoration('file', 'src/a.ts', undefined)).toBeUndefined() }) it('有注释:名字后面灰字是注释,contextValue 加 noted,提示里粗体路径下一行注释全文', () => { expect(noteDecoration('file', 'campaign/order_bonus.py', '下单返利:订单完成后按活动规则发积分')).toEqual({ description: '下单返利:订单完成后按活动规则发积分', tooltip: '**campaign\\/order\\_bonus\\.py** \n下单返利:订单完成后按活动规则发积分', contextValue: 'file noted', }) expect(noteDecoration('folder', 'campaign', '营销活动')?.contextValue).toBe('folder noted') }) it('注释里的 Markdown 符号原样显示', () => { expect(escapeMarkdown('**别加粗** x [链接](command:x) `代码` # 标题 $(icon)')) .toBe('\\*\\*别加粗\\*\\* \\x\\<\\/b\\> \\[链接\\]\\(command\\:x\\) \\`代码\\` \\# 标题 \\$\\(icon\\)') }) })