diff options
| author | Michael Williamson <mike@zwobble.org> | 2021-08-01 10:54:37 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2021-08-01 10:54:37 +0100 |
| commit | eab2eee51d21344d168adaeb72a5e0f2d418b3cd (patch) | |
| tree | 0231ce51ab7b737127685a732bcc7bafe1e73bb0 | |
| parent | 6f0a685d9d03343184088565feb12a1e947684af (diff) | |
Convert tab elements to tab characters
| -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( [ |
