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| Test | \nTest | \nTest | \n
\n\n\n| test | \ntest | \ntest | \n
\n\n| test | \ntest | \ntest | \n
\n\n| test | \ntest | \ntest | \n
\n\n| test | \ntest | \ntest | \n
\n
\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| Test | \nTest | \nTest | \n
\n\n| test | \ntest | \ntest | \n
\n\n| test | \ntest | \ntest | \n
\n\n| test | \ntest | \ntest | \n
\n\n| test | \ntest | \ntest | \n
\n
\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');