diff options
| author | Michael Williamson <mike@zwobble.org> | 2014-09-27 17:11:03 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2014-09-27 17:11:03 +0100 |
| commit | a8ea510e657bb9221ad724f9d0184b045e06fb1b (patch) | |
| tree | 77cc0d11f836750081ff38187df03aac4cd428dd | |
| parent | 92be647aab6949d504f60a54099454e527009cf7 (diff) | |
Convert superscript and subscript to sup and sub elements
| -rw-r--r-- | lib/document-to-html.js | 7 | ||||
| -rw-r--r-- | tests/document-to-html.tests.js | 20 |
2 files changed, 27 insertions, 0 deletions
diff --git a/lib/document-to-html.js b/lib/document-to-html.js index 9c1e5af..fa1c63b 100644 --- a/lib/document-to-html.js +++ b/lib/document-to-html.js @@ -1,6 +1,7 @@ var promises = require("./promises"); var async = require("async"); +var documents = require("./documents"); var htmlPaths = require("./html-paths"); var HtmlGenerator = require("./html-generator").HtmlGenerator; var results = require("./results"); @@ -103,6 +104,12 @@ function DocumentConversion(options) { if (run.isItalic) { runHtml.open(htmlPaths.element("em")); } + if (run.verticalAlignment === documents.verticalAlignment.superscript) { + runHtml.open(htmlPaths.element("sup")); + } + if (run.verticalAlignment === documents.verticalAlignment.subscript) { + runHtml.open(htmlPaths.element("sub")); + } if (run.isUnderline && options.convertUnderline) { options.convertUnderline(runHtml); } diff --git a/tests/document-to-html.tests.js b/tests/document-to-html.tests.js index ddc2e17..a1c7a61 100644 --- a/tests/document-to-html.tests.js +++ b/tests/document-to-html.tests.js @@ -174,6 +174,26 @@ describe('DocumentConverter', function() { }); }); + test('superscript runs are wrapped in <sup> tags', function() { + var run = runOfText("Hello.", { + verticalAlignment: documents.verticalAlignment.superscript + }); + var converter = new DocumentConverter(); + return converter.convertToHtml(run).then(function(result) { + assert.equal(result.value, "<sup>Hello.</sup>"); + }); + }); + + test('subscript runs are wrapped in <sub> tags', function() { + var run = runOfText("Hello.", { + verticalAlignment: documents.verticalAlignment.subscript + }); + var converter = new DocumentConverter(); + return converter.convertToHtml(run).then(function(result) { + assert.equal(result.value, "<sub>Hello.</sub>"); + }); + }); + test('run styles are converted to HTML if mapping exists', function() { var run = runOfText("Hello.", {styleId: "Heading1Char", styleName: "Heading 1 Char"}); var converter = new DocumentConverter({ |
