import { describe, test, expect } from 'vitest' import { parseHeader } from 'node/utils/parseHeader' describe('parseHeader', () => { test('should unescape html', () => { const input = `<div :id="'app'">` expect(parseHeader(input)).toBe(`
`) }) test('should remove markdown tokens correctly', () => { const asserts: Record = { // vuepress #238 '[vue](vuejs.org)': 'vue', '`vue`': 'vue', '*vue*': 'vue', '**vue**': 'vue', '***vue***': 'vue', _vue_: 'vue', '\\_vue\\_': '_vue_', '\\*vue\\*': '*vue*', '\\!vue\\!': '!vue!', // vuepress #2688 '[vue](vuejs.org) / [vue](vuejs.org)': 'vue / vue', '[\\](vuejs.org)': '', // vuepress #564 For multiple markdown tokens '`a` and `b`': 'a and b', '***bold and italic***': 'bold and italic', '**bold** and *italic*': 'bold and italic', // escaping \$ '\\$vue': '$vue' } Object.keys(asserts).forEach((input) => { expect(parseHeader(input)).toBe(asserts[input]) }) }) })