Mercurial
annotate markdown_converter/tests/test_wasm.js @ 180:3a4ebe4552bf
Remove playground file as it is not needed to be tracked.
| author | June Park <parkjune1995@gmail.com> |
|---|---|
| date | Mon, 19 Jan 2026 08:05:02 -0800 |
| parents | cd35e600ae34 |
| children |
| rev | line source |
|---|---|
|
156
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
1 /** |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
2 * Test suite for markdown_to_html WASM module |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
3 */ |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
4 const fs = require('fs'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
5 // TODO: Fix the rules so that it can do relative import. |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
6 const wasm = fs.readFileSync('markdown_converter/wasm/markdown_to_html_wasm.wasm'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
7 |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
8 let testsPassed = 0; |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
9 let testsFailed = 0; |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
10 |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
11 function assertEqual(actual, expected, testName) { |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
12 if (actual === expected) { |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
13 console.log(`✓ ${testName}`); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
14 testsPassed++; |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
15 } else { |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
16 console.log(`✗ ${testName}`); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
17 console.log(` Expected: ${expected}`); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
18 console.log(` Actual: ${actual}`); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
19 testsFailed++; |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
20 } |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
21 } |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
22 |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
23 function assertContains(actual, expected, testName) { |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
24 if (actual.includes(expected)) { |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
25 console.log(`✓ ${testName}`); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
26 testsPassed++; |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
27 } else { |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
28 console.log(`✗ ${testName}`); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
29 console.log(` Expected to contain: ${expected}`); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
30 console.log(` Actual: ${actual}`); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
31 testsFailed++; |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
32 } |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
33 } |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
34 |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
35 async function runTests() { |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
36 const module = await WebAssembly.instantiate(wasm, { env: {} }); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
37 const { malloc, heap_reset, markdown_to_html, memory } = module.instance.exports; |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
38 |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
39 function writeString(str) { |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
40 const encoder = new TextEncoder(); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
41 const bytes = encoder.encode(str + '\0'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
42 const ptr = malloc(bytes.length); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
43 new Uint8Array(memory.buffer).set(bytes, ptr); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
44 return ptr; |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
45 } |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
46 |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
47 function readString(ptr) { |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
48 const mem = new Uint8Array(memory.buffer); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
49 let end = ptr; |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
50 while (mem[end] !== 0) end++; |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
51 return new TextDecoder().decode(mem.slice(ptr, end)); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
52 } |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
53 |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
54 function convert(md) { |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
55 heap_reset(); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
56 const inputPtr = writeString(md); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
57 const outputPtr = markdown_to_html(inputPtr); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
58 return readString(outputPtr); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
59 } |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
60 |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
61 console.log('Running markdown_to_html WASM tests...\n'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
62 |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
63 // Test: Headings |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
64 console.log('--- Headings ---'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
65 assertEqual(convert('# Hello'), '<h1>Hello</h1>', 'H1 heading'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
66 assertEqual(convert('## World'), '<h2>World</h2>', 'H2 heading'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
67 assertEqual(convert('### Level 3'), '<h3>Level 3</h3>', 'H3 heading'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
68 assertEqual(convert('###### Level 6'), '<h6>Level 6</h6>', 'H6 heading'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
69 |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
70 // Test: Inline formatting |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
71 console.log('\n--- Inline Formatting ---'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
72 assertEqual(convert('**bold**'), '<p><strong>bold</strong></p>', 'Bold with **'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
73 assertEqual(convert('__bold__'), '<p><strong>bold</strong></p>', 'Bold with __'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
74 assertEqual(convert('*italic*'), '<p><em>italic</em></p>', 'Italic with *'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
75 assertEqual(convert('_italic_'), '<p><em>italic</em></p>', 'Italic with _'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
76 assertEqual(convert('~~strike~~'), '<p><del>strike</del></p>', 'Strikethrough'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
77 assertEqual(convert('`code`'), '<p><code>code</code></p>', 'Inline code'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
78 |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
79 // Test: Links and Images |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
80 console.log('\n--- Links and Images ---'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
81 assertEqual(convert('[link](http://example.com)'), '<p><a href="http://example.com">link</a></p>', 'Link'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
82 assertEqual(convert(''), '<p><img src="http://img.png" alt="alt"></p>', 'Image'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
83 |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
84 // Test: Lists |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
85 console.log('\n--- Lists ---'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
86 assertEqual(convert('- item1\n- item2'), '<ul><li>item1</li><li>item2</li></ul>', 'Unordered list with -'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
87 assertEqual(convert('* item1\n* item2'), '<ul><li>item1</li><li>item2</li></ul>', 'Unordered list with *'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
88 assertEqual(convert('1. first\n2. second'), '<ol><li>first</li><li>second</li></ol>', 'Ordered list'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
89 |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
90 // Test: Code block |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
91 console.log('\n--- Code Block ---'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
92 const codeBlock = '```\nfunction test() {\n return 42;\n}\n```'; |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
93 assertContains(convert(codeBlock), '<pre><code>', 'Code block opens'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
94 assertContains(convert(codeBlock), '</code></pre>', 'Code block closes'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
95 |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
96 // Test: Blockquote |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
97 console.log('\n--- Blockquote ---'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
98 assertEqual(convert('> quote'), '<blockquote>quote </blockquote>', 'Blockquote'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
99 |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
100 // Test: Horizontal rule |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
101 console.log('\n--- Horizontal Rule ---'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
102 assertEqual(convert('---'), '<hr>', 'HR with ---'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
103 assertEqual(convert('***'), '<hr>', 'HR with ***'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
104 assertEqual(convert('___'), '<hr>', 'HR with ___'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
105 |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
106 // Test: Tables |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
107 console.log('\n--- Tables ---'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
108 const table = '| Name | Age |\n|------|-----|\n| Alice | 30 |\n| Bob | 25 |'; |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
109 const tableHtml = convert(table); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
110 assertContains(tableHtml, '<table>', 'Table opens'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
111 assertContains(tableHtml, '</table>', 'Table closes'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
112 assertContains(tableHtml, '<thead>', 'Table has thead'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
113 assertContains(tableHtml, '<tbody>', 'Table has tbody'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
114 assertContains(tableHtml, '<th>Name</th>', 'Table header cell'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
115 assertContains(tableHtml, '<td>Alice</td>', 'Table body cell'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
116 |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
117 // Test: Complex table with inline formatting |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
118 console.log('\n--- Table with Inline Formatting ---'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
119 const complexTable = '| Feature | Status |\n|---------|--------|\n| **Bold** | *done* |'; |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
120 const complexTableHtml = convert(complexTable); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
121 assertContains(complexTableHtml, '<strong>Bold</strong>', 'Bold in table cell'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
122 assertContains(complexTableHtml, '<em>done</em>', 'Italic in table cell'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
123 |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
124 // Test: HTML escaping |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
125 console.log('\n--- HTML Escaping ---'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
126 assertContains(convert('<script>'), '<script>', 'Escapes < and >'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
127 assertContains(convert('a & b'), '&', 'Escapes &'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
128 |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
129 // Test: Mixed content |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
130 console.log('\n--- Mixed Content ---'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
131 const mixed = '# Title\n\nSome **bold** text.\n\n- item 1\n- item 2'; |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
132 const mixedHtml = convert(mixed); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
133 assertContains(mixedHtml, '<h1>Title</h1>', 'Mixed: heading'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
134 assertContains(mixedHtml, '<strong>bold</strong>', 'Mixed: bold'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
135 assertContains(mixedHtml, '<ul>', 'Mixed: list'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
136 |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
137 // Summary |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
138 console.log('\n========================================'); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
139 console.log(`Tests passed: ${testsPassed}`); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
140 console.log(`Tests failed: ${testsFailed}`); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
141 |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
142 if (testsFailed > 0) { |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
143 process.exit(1); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
144 } |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
145 } |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
146 |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
147 runTests().catch(err => { |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
148 console.error('Test error:', err); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
149 process.exit(1); |
|
cd35e600ae34
[MarkDown Converter] Fixed few things and made a test
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
150 }); |