diff options
| author | Michael Williamson <mike@zwobble.org> | 2013-04-01 12:58:53 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2013-04-01 12:58:53 +0100 |
| commit | ed1473a31a6294617bf239cc1fd15272fd7c9946 (patch) | |
| tree | e1b90ff85bf5245b2978cffd8725d35dd9c43dce | |
| parent | 9793af8582ba804b5e80fd7445abb6213b87be62 (diff) | |
Add conversion to HTML of italic runs
| -rw-r--r-- | lib/documents.js | 5 | ||||
| -rw-r--r-- | lib/html-generator.js | 1 | ||||
| -rw-r--r-- | tests/documents.tests.js | 16 |
3 files changed, 21 insertions, 1 deletions
diff --git a/lib/documents.js b/lib/documents.js index 1b52bf4..41d49a5 100644 --- a/lib/documents.js +++ b/lib/documents.js @@ -51,7 +51,10 @@ function DocumentConverter(options) { function convertRun(run, html) { var runHtml = new HtmlGenerator(); if (run.properties.isBold) { - runHtml.style(styles.elements(["strong"])); + runHtml.push(styles.element("strong")); + } + if (run.properties.isItalic) { + runHtml.push(styles.element("em")); } convertElements(run.children, runHtml); runHtml.closeAll(); diff --git a/lib/html-generator.js b/lib/html-generator.js index 3df611d..339b481 100644 --- a/lib/html-generator.js +++ b/lib/html-generator.js @@ -93,6 +93,7 @@ function HtmlGenerator() { closeAll: popAll, asString: asString, append: append, + push: push, _fragments: fragments }; } diff --git a/tests/documents.tests.js b/tests/documents.tests.js index 9cd3a49..df10a92 100644 --- a/tests/documents.tests.js +++ b/tests/documents.tests.js @@ -103,6 +103,22 @@ describe('DocumentConverter', function() { assert.equal(result.html, "<p><strong>Hello.</strong></p>"); }); }); + + test('italic runs are wrapped in <em> tags', function() { + var run = runOfText("Hello.", {isItalic: true}); + var converter = new DocumentConverter(); + return converter.convertToHtml(run).then(function(result) { + assert.equal(result.html, "<em>Hello.</em>"); + }); + }); + + test('run can be both bold and italic', function() { + var run = runOfText("Hello.", {isBold: true, isItalic: true}); + var converter = new DocumentConverter(); + return converter.convertToHtml(run).then(function(result) { + assert.equal(result.html, "<strong><em>Hello.</em></strong>"); + }); + }); }); function paragraphOfText(text, styleName) { |
