From 2d23b2933994c3c95ae108458021fd8ee6fcbb9b Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 27 Jan 2019 09:22:15 +0000 Subject: Add test for preservation of table rows --- test/document-to-html.tests.js | 45 +++++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/test/document-to-html.tests.js b/test/document-to-html.tests.js index 8a42ae3..8d8ae9a 100644 --- a/test/document-to-html.tests.js +++ b/test/document-to-html.tests.js @@ -409,7 +409,7 @@ test('docx table is converted to table in HTML', function() { ]) ]); var converter = new DocumentConverter(); - + return converter.convertToHtml(table).then(function(result) { var expectedHtml = "" + "" + @@ -443,7 +443,7 @@ test('header rows are wrapped in thead', function() { new documents.TableRow([new documents.TableCell([])], {isHeader: false}) ]); var converter = new DocumentConverter(); - + return converter.convertToHtml(table).then(function(result) { var expectedHtml = "

Top left

Top right

" + "" + @@ -458,7 +458,7 @@ test('tbody is omitted if all rows are headers', function() { new documents.TableRow([new documents.TableCell([])], {isHeader: true}) ]); var converter = new DocumentConverter(); - + return converter.convertToHtml(table).then(function(result) { var expectedHtml = "
" + "" + @@ -472,7 +472,7 @@ test('unexpected table children do not cause error', function() { new documents.tab() ]); var converter = new DocumentConverter(); - + return converter.convertToHtml(table).then(function(result) { var expectedHtml = "
\t
"; assert.equal(result.value, expectedHtml); @@ -487,7 +487,7 @@ test('empty cells are preserved in table', function() { ]) ]); var converter = new DocumentConverter(); - + return converter.convertToHtml(table).then(function(result) { var expectedHtml = "" + "" + @@ -496,6 +496,23 @@ test('empty cells are preserved in table', function() { }); }); +test('empty rows are preserved in table', function() { + var table = new documents.Table([ + new documents.TableRow([ + new documents.TableCell([paragraphOfText("Row 1")]) + ]), + new documents.TableRow([]) + ]); + var converter = new DocumentConverter(); + + return converter.convertToHtml(table).then(function(result) { + var expectedHtml = "

Top right

" + + "" + + "

Row 1

"; + assert.equal(result.value, expectedHtml); + }); +}); + test('table cells are written with colSpan if not equal to one', function() { var table = new documents.Table([ new documents.TableRow([ @@ -504,7 +521,7 @@ test('table cells are written with colSpan if not equal to one', function() { ]) ]); var converter = new DocumentConverter(); - + return converter.convertToHtml(table).then(function(result) { var expectedHtml = "" + "" + @@ -520,7 +537,7 @@ test('table cells are written with rowSpan if not equal to one', function() { ]) ]); var converter = new DocumentConverter(); - + return converter.convertToHtml(table).then(function(result) { var expectedHtml = "

Top left

Top right

" + "" + @@ -531,7 +548,7 @@ test('table cells are written with rowSpan if not equal to one', function() { test('line break is converted to
', function() { var converter = new DocumentConverter(); - + return converter.convertToHtml(documents.lineBreak).then(function(result) { assert.equal(result.value, "
"); }); @@ -539,7 +556,7 @@ test('line break is converted to
', function() { test('breaks that are not line breaks are ignored', function() { var converter = new DocumentConverter(); - + return converter.convertToHtml(documents.pageBreak).then(function(result) { assert.equal(result.value, ""); }); @@ -554,7 +571,7 @@ test('breaks can be mapped using style mappings', function() { } ] }); - + return converter.convertToHtml(documents.pageBreak).then(function(result) { assert.equal(result.value, "
"); }); @@ -593,7 +610,7 @@ test('footnotes are included after the main body', function() { }) } ); - + var converter = new DocumentConverter({ idPrefix: "doc-42-" }); @@ -616,14 +633,14 @@ test('comments are ignored by default', function() { documents.run([reference]) ]) ], {comments: [comment]}); - + var converter = new DocumentConverter({}); return converter.convertToHtml(document).then(function(result) { assert.equal(result.value, '

Knock knock

'); assert.deepEqual(result.messages, []); }); }); - + test('comment references are linked to comment after main body', function() { var reference = documents.commentReference({commentId: "4"}); var comment = documents.comment({ @@ -638,7 +655,7 @@ test('comment references are linked to comment after main body', function() { documents.run([reference]) ]) ], {comments: [comment]}); - + var converter = new DocumentConverter({ idPrefix: "doc-42-", styleMap: [ -- cgit v1.2.3