diff --git a/src/sql/workbench/contrib/notebook/browser/turndownPluginGfm.ts b/src/sql/workbench/contrib/notebook/browser/turndownPluginGfm.ts index 1d4dceafae..18cb754188 100644 --- a/src/sql/workbench/contrib/notebook/browser/turndownPluginGfm.ts +++ b/src/sql/workbench/contrib/notebook/browser/turndownPluginGfm.ts @@ -99,12 +99,12 @@ rules['table'] = { // Ensure there are no blank lines content = content.replace('\n\n', '\n'); // if the headings are empty, add border line and headings to keep table format - if (node.tHead.innerText === '') { + if (node.tHead?.innerText === '') { let emptyHeader = '\n\n|'; let border = '\n|'; for (let i = 0; i < node.rows[0].childNodes.length; i++) { emptyHeader += ' |'; - border += ' --- |' + border += ' --- |'; } return emptyHeader + border + content + '\n\n'; } diff --git a/src/sql/workbench/contrib/notebook/test/browser/htmlMarkdownConverter.test.ts b/src/sql/workbench/contrib/notebook/test/browser/htmlMarkdownConverter.test.ts index bfe8453f46..04698f60ac 100644 --- a/src/sql/workbench/contrib/notebook/test/browser/htmlMarkdownConverter.test.ts +++ b/src/sql/workbench/contrib/notebook/test/browser/htmlMarkdownConverter.test.ts @@ -208,6 +208,12 @@ suite('HTML Markdown Converter', function (): void { htmlString = '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
TestTestTest
testtesttest
testtesttest
testtesttest
testtesttest
\n'; assert.equal(htmlMarkdownConverter.convert(htmlString), `| Test | Test | Test |\n| --- | --- | --- |\n| test | test | test |\n| test | test | test |\n| test | test | test |\n| test | test | test |`, 'Table with header failed'); }); + + test('Should transform table with no thead', () => { + htmlString = '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
TestTestTest
testtesttest
testtesttest
testtesttest
testtesttest
\n'; + assert.equal(htmlMarkdownConverter.convert(htmlString), `| Test | Test | Test |\n| --- | --- | --- |\n| test | test | test |\n| test | test | test |\n| test | test | test |\n| test | test | test |`, 'Table with no thead failed'); + }); + test('Should transform and tags', () => { htmlString = 'test string'; assert.equal(htmlMarkdownConverter.convert(htmlString), '**test string**', 'Basic bold test failed');