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
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 });