annotate markdown_converter/tests/test_wasm.js @ 159:05cf9467a1c3

[Postdog] Updated to use text area that can handle like html text area.
author June Park <parkjune1995@gmail.com>
date Wed, 14 Jan 2026 08:56:33 -0800
parents cd35e600ae34
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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('![alt](http://img.png)'), '<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>'), '&lt;script&gt;', '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'), '&amp;', '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 });