export type GoldenCase = { id: string; text: string; lang: 'TC' | 'EN'; context: 'APP' | 'WIDGET'; availableWidth: number; maxLines: number; expected: { lines: string[]; wrappedText: string }; }; /** * Golden fixtures(首版最小可运行集) * * 说明: * - APP:测量 mock=string.length,因此 availableWidth 也是“字符数单位” * - WIDGET:widthMode=APPROX,因此 availableWidth 是“token 数单位” */ export const GOLDEN_CASES: GoldenCase[] = [ { id: 'en_app_simple_2lines', text: 'I am so tired', lang: 'EN', context: 'APP', availableWidth: 7, maxLines: 2, expected: { lines: ['I am so', 'tired'], wrappedText: 'I am so\ntired' }, }, { id: 'en_app_punct_keyword', text: 'but, still ok', lang: 'EN', context: 'APP', availableWidth: 9, maxLines: 2, expected: { lines: ['but,', 'still ok'], wrappedText: 'but,\nstill ok' }, }, { id: 'tc_app_punct_2lines', text: '我好累,😮‍💨', lang: 'TC', context: 'APP', availableWidth: 6, maxLines: 2, expected: { lines: ['我好累,', '😮‍💨'], wrappedText: '我好累,\n😮‍💨' }, }, { id: 'tc_widget_approx_2lines', text: '我好累', lang: 'TC', context: 'WIDGET', availableWidth: 2, maxLines: 2, expected: { lines: ['我', '好累'], wrappedText: '我\n好累' }, }, ];