gitea源码

html2markdown.test.ts 1.3KB

12345678910111213141516171819202122232425
  1. import {convertHtmlToMarkdown} from './html2markdown.ts';
  2. import {createElementFromHTML} from '../utils/dom.ts';
  3. const h = createElementFromHTML;
  4. test('convertHtmlToMarkdown', () => {
  5. expect(convertHtmlToMarkdown(h(`<h1>h</h1>`))).toBe('# h');
  6. expect(convertHtmlToMarkdown(h(`<strong>txt</strong>`))).toBe('**txt**');
  7. expect(convertHtmlToMarkdown(h(`<em>txt</em>`))).toBe('_txt_');
  8. expect(convertHtmlToMarkdown(h(`<del>txt</del>`))).toBe('~~txt~~');
  9. expect(convertHtmlToMarkdown(h(`<a href="link">txt</a>`))).toBe('[txt](link)');
  10. expect(convertHtmlToMarkdown(h(`<a href="https://link">https://link</a>`))).toBe('https://link');
  11. expect(convertHtmlToMarkdown(h(`<img src="link">`))).toBe('![image](link)');
  12. expect(convertHtmlToMarkdown(h(`<img src="link" alt="name">`))).toBe('![name](link)');
  13. expect(convertHtmlToMarkdown(h(`<img src="link" width="1" height="1">`))).toBe('<img alt="image" width="1" height="1" src="link">');
  14. expect(convertHtmlToMarkdown(h(`<p>txt</p>`))).toBe('txt\n');
  15. expect(convertHtmlToMarkdown(h(`<blockquote>a\nb</blockquote>`))).toBe('> a\n> b\n');
  16. expect(convertHtmlToMarkdown(h(`<ol><li>a<ul><li>b</li></ul></li></ol>`))).toBe('1. a\n * b\n\n');
  17. expect(convertHtmlToMarkdown(h(`<ol><li><input checked>a</li></ol>`))).toBe('1. [x] a\n');
  18. });