UNPKG

html-to-md

Version:

A JS library for convert HTML<String> to markdown<String>, gzip 10kb

154 lines (143 loc) 4.86 kB
import html2Md from '../../src/index' const OL_SPACE=3 const UL_SPACE=2 describe("test <ol></ol> tag",()=>{ it('order list',()=>{ let ol=html2Md('<ol>\n' + '<li>one</li>\n' + '<li>two</li>\n' + '<li>three</li>\n' + '</ol>') expect(ol).toBe('1.'+' '.repeat(OL_SPACE-2)+'one\n' + '2.'+' '.repeat(OL_SPACE-2)+'two\n' + '3.'+' '.repeat(OL_SPACE-2)+'three') }) it('nest order list',()=>{ let ol=html2Md('<ol>\n' + '<li>one</li>\n' + '<li>two\n' + '<ol>\n' + '<li>one</li>\n' + '<li>two</li>\n' + '<li>three</li>\n' + '</ol>\n' + '</li>\n' + '<li>three</li>\n' + '</ol>') expect(ol).toBe( '1.'+' '.repeat(OL_SPACE-2)+'one\n' + '2.'+ ' '.repeat(OL_SPACE-2)+'two\n' + ' '.repeat(OL_SPACE)+ '1.'+' '.repeat(OL_SPACE-2)+'one\n' + ' '.repeat(OL_SPACE)+ '2.'+' '.repeat(OL_SPACE-2)+'two\n' + ' '.repeat(OL_SPACE)+ '3.'+' '.repeat(OL_SPACE-2)+'three\n' + '3.'+ ' '.repeat(OL_SPACE-2)+ 'three') }) it('nest ul',()=>{ let ol=html2Md('<ol>\n' + '<li>one</li>\n' + '<li>two\n' + '<ul>\n' + '<li>unorder-1</li>\n' + '<li>unorder-2</li>\n' + '<li>unorder-3</li>\n' + '</ul>\n' + '</li>\n' + '<li>three</li>\n' + '</ol>') expect(ol).toBe( '1.'+' '.repeat(OL_SPACE-2)+'one\n' + '2.'+' '.repeat(OL_SPACE-2)+'two\n' + ' '.repeat(OL_SPACE)+ '* '+' '.repeat(UL_SPACE-2)+'unorder-1\n' + ' '.repeat(OL_SPACE)+ '* '+' '.repeat(UL_SPACE-2)+'unorder-2\n' + ' '.repeat(OL_SPACE)+ '* '+' '.repeat(UL_SPACE-2)+'unorder-3\n' + '3.'+' '.repeat(OL_SPACE-2)+'three') }) it('complicate nest',()=>{ let ol=html2Md('<ol>\n' + '<li><strong>STRONG</strong></li>\n' + '<li><a href="https://github.com/-it/markdown-it-sub">ATag</a>\n' + '<ul>\n' + '<li>unorder-1</li>\n' + '<li>unorder-2\n' + '<ol>\n' + '<li>one</li>\n' + '<li>two\n' + '<blockquote>\n' + '<ul>\n' + '<li>bq-nest-1</li>\n' + '</ul>\n' + '<blockquote>\n' + '<ul>\n' + '<li>bq-nest-2</li>\n' + '</ul>\n' + '<blockquote>\n' + '<ul>\n' + '<li>bq-nest-3</li>\n' + '</ul>\n' + '</blockquote>\n' + '</blockquote>\n' + '</blockquote>\n' + '</li>\n' + '</ol>\n' + '</li>\n' + '<li>unorder-3\n' + '<ul>\n' + '<li>code<pre class="hljs language-js"><code><span class="hljs-keyword">var</span> a=<span class="hljs-number">5</span>\n' + '</code></pre>\n' + '</li>\n' + '</ul>\n' + '</li>\n' + '</ul>\n' + '</li>\n' + '<li>three</li>\n' + '</ol>') expect(ol).toBe( '1.'+' '.repeat(OL_SPACE-2)+ '**STRONG**\n' + '2.'+' '.repeat(OL_SPACE-2)+ '[ATag](https://github.com/-it/markdown-it-sub)\n' + '\n'+ ' '.repeat(OL_SPACE)+'*'+' '.repeat(UL_SPACE-1)+ 'unorder-1\n' + ' '.repeat(OL_SPACE)+'*'+' '.repeat(UL_SPACE-1)+ 'unorder-2\n' + ' '.repeat(OL_SPACE+UL_SPACE)+'1.'+' '.repeat(OL_SPACE-2)+ 'one\n' + ' '.repeat(OL_SPACE+UL_SPACE)+'2.'+' '.repeat(OL_SPACE-2)+ 'two\n' + ' '.repeat(OL_SPACE*2+UL_SPACE)+'> *'+' '.repeat(UL_SPACE-1)+ 'bq-nest-1\n' + ' '.repeat(OL_SPACE*2+UL_SPACE)+'>\n' + ' '.repeat(OL_SPACE*2+UL_SPACE)+'>> *'+' '.repeat(UL_SPACE-1)+ 'bq-nest-2\n' + ' '.repeat(OL_SPACE*2+UL_SPACE)+'>>\n' + ' '.repeat(OL_SPACE*2+UL_SPACE)+'>>> *'+' '.repeat(UL_SPACE-1)+ 'bq-nest-3\n' + ' '.repeat(OL_SPACE)+'*'+' '.repeat(UL_SPACE-1)+ 'unorder-3\n' + ' '.repeat(OL_SPACE+UL_SPACE)+'*'+' '.repeat(UL_SPACE-1)+ 'code\n' + ' '.repeat(OL_SPACE+2*UL_SPACE)+'```js\n' + ' '.repeat(OL_SPACE+2*UL_SPACE)+'var a=5\n' + ' '.repeat(OL_SPACE+2*UL_SPACE)+'```\n' + '3.'+' '.repeat(OL_SPACE-2)+ 'three') }) it("li nest p",()=>{ let ol=html2Md("<ol>\n" + "<li>\n" + "<p>Lorem ipsum dolor sit amet</p>\n" + "</li>\n" + "<li>\n" + "<p>Consectetur adipiscing elit</p>\n" + "</li>\n" + "<li>\n" + "<p>Integer molestie lorem at massa</p>\n" + "</li>\n" + "<li>\n" + "<p>You can use sequential numbers…</p>\n" + "</li>\n" + "<li>\n" + "<p>…or keep all the numbers as <code>1.</code></p>\n" + "</li>\n" + "</ol>") expect(ol).toBe( '1.'+' '.repeat(OL_SPACE-2)+ 'Lorem ipsum dolor sit amet\n' + '\n' + '2.'+' '.repeat(OL_SPACE-2)+ 'Consectetur adipiscing elit\n' + '\n' + '3.'+' '.repeat(OL_SPACE-2)+ 'Integer molestie lorem at massa\n' + '\n' + '4.'+' '.repeat(OL_SPACE-2)+ 'You can use sequential numbers…\n' + '\n' + '5.'+' '.repeat(OL_SPACE-2)+ '…or keep all the numbers as `1.`') }) })