diff options
| -rw-r--r-- | NEWS | 4 | ||||
| -rw-r--r-- | lib/raw-text.js | 4 | ||||
| -rw-r--r-- | test/raw-text.tests.js | 10 |
3 files changed, 17 insertions, 1 deletions
@@ -1,3 +1,7 @@ +# 1.4.18 + +* When extracting raw text, convert tab elements to tab characters. + # 1.4.17 * Handle w:num with invalid w:abstractNumId. diff --git a/lib/raw-text.js b/lib/raw-text.js index da9a640..138b73c 100644 --- a/lib/raw-text.js +++ b/lib/raw-text.js @@ -1,6 +1,10 @@ +var documents = require("./documents"); + function convertElementToRawText(element) { if (element.type === "text") { return element.value; + } else if (element.type === documents.types.tab) { + return "\t"; } else { var tail = element.type === "paragraph" ? "\n\n" : ""; return (element.children || []).map(convertElementToRawText).join("") + tail; diff --git a/test/raw-text.tests.js b/test/raw-text.tests.js index f7b13b2..fdd0bc2 100644 --- a/test/raw-text.tests.js +++ b/test/raw-text.tests.js @@ -5,7 +5,7 @@ var test = require("./test")(module); var convertElementToRawText = require("../lib/raw-text").convertElementToRawText; -test('text node is converted to text content', function() { +test('text element is converted to text content', function() { var element = new documents.Text("Hello."); var result = convertElementToRawText(element); @@ -13,6 +13,14 @@ test('text node is converted to text content', function() { assert.strictEqual(result, "Hello."); }); +test('tab element is converted to tab character', function() { + var element = documents.tab(); + + var result = convertElementToRawText(element); + + assert.strictEqual(result, "\t"); +}); + test('paragraphs are terminated with newlines', function() { var element = new documents.Paragraph( [ |
