aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2013-04-01 12:58:53 +0100
committerMichael Williamson <mike@zwobble.org>2013-04-01 12:58:53 +0100
commited1473a31a6294617bf239cc1fd15272fd7c9946 (patch)
treee1b90ff85bf5245b2978cffd8725d35dd9c43dce
parent9793af8582ba804b5e80fd7445abb6213b87be62 (diff)
Add conversion to HTML of italic runs
-rw-r--r--lib/documents.js5
-rw-r--r--lib/html-generator.js1
-rw-r--r--tests/documents.tests.js16
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) {