aboutsummaryrefslogtreecommitdiff
path: root/test/document-to-html.tests.js
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2019-01-27 09:22:15 +0000
committerMichael Williamson <mike@zwobble.org>2019-01-27 09:22:15 +0000
commit2d23b2933994c3c95ae108458021fd8ee6fcbb9b (patch)
tree0e5be496e4f2072594f032064b4e35f44811aace /test/document-to-html.tests.js
parent106ea9f6749c10fe32ee934b7680f13b119d6937 (diff)
Add test for preservation of table rows
Diffstat (limited to 'test/document-to-html.tests.js')
-rw-r--r--test/document-to-html.tests.js45
1 files 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 = "<table>" +
"<tr><td><p>Top left</p></td><td><p>Top right</p></td></tr>" +
@@ -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 = "<table>" +
"<thead><tr><th></th></tr><tr><th></th></tr></thead>" +
@@ -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 = "<table>" +
"<thead><tr><th></th></tr></thead>" +
@@ -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 = "<table>\t</table>";
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 = "<table>" +
"<tr><td></td><td><p>Top right</p></td></tr>" +
@@ -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 = "<table>" +
+ "<tr><td><p>Row 1</p></td></tr><tr></tr>" +
+ "</table>";
+ 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 = "<table>" +
"<tr><td colspan=\"2\"><p>Top left</p></td><td><p>Top right</p></td></tr>" +
@@ -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 = "<table>" +
"<tr><td rowspan=\"2\"></td></tr>" +
@@ -531,7 +548,7 @@ test('table cells are written with rowSpan if not equal to one', function() {
test('line break is converted to <br>', function() {
var converter = new DocumentConverter();
-
+
return converter.convertToHtml(documents.lineBreak).then(function(result) {
assert.equal(result.value, "<br />");
});
@@ -539,7 +556,7 @@ test('line break is converted to <br>', 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, "<hr />");
});
@@ -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, '<p>Knock knock</p>');
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: [