Mercurial
annotate markdown_converter/tests/test_wasm.js @ 279:b3b547563ec7
Add Google connector service and agent wiki
Implement the C/Seobeo Google Drive and Gmail connector with encrypted OAuth storage, Zenbu authentication, browser testing, AI tool discovery, chunked HTTP decoding, and Bazel coverage. Consolidate repository guidance into progressive wiki documentation and enforce arena-first allocation for new first-party C code.
Co-authored-by: Copilot <[email protected]>
Copilot-Session: 84c338fd-0939-4bb3-b7f3-1062eb213e5d
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Mon, 17 Aug 2026 22:22:36 -0700 |
| 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 }); |