diff options
| author | Michael Williamson <mike@zwobble.org> | 2021-08-01 10:52:16 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2021-08-01 10:52:16 +0100 |
| commit | 6f0a685d9d03343184088565feb12a1e947684af (patch) | |
| tree | 19f75c2053e6d14210eda46a134dec7de77742c3 /test/raw-text.tests.js | |
| parent | 8e88d605ae84ff3a55baf6a8c881d102e9ea1045 (diff) | |
Add tests for raw text extraction
Diffstat (limited to 'test/raw-text.tests.js')
| -rw-r--r-- | test/raw-text.tests.js | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/test/raw-text.tests.js b/test/raw-text.tests.js new file mode 100644 index 0000000..f7b13b2 --- /dev/null +++ b/test/raw-text.tests.js @@ -0,0 +1,53 @@ +var assert = require("assert"); + +var documents = require("../lib/documents"); +var test = require("./test")(module); +var convertElementToRawText = require("../lib/raw-text").convertElementToRawText; + + +test('text node is converted to text content', function() { + var element = new documents.Text("Hello."); + + var result = convertElementToRawText(element); + + assert.strictEqual(result, "Hello."); +}); + +test('paragraphs are terminated with newlines', function() { + var element = new documents.Paragraph( + [ + new documents.Text("Hello "), + new documents.Text("world.") + ], + {} + ); + + var result = convertElementToRawText(element); + + assert.strictEqual(result, "Hello world.\n\n"); +}); + +test('children recursively are converted to text', function() { + var element = new documents.Document([ + new documents.Paragraph( + [ + new documents.Text("Hello "), + new documents.Text("world.") + ], + {} + ) + ]); + + var result = convertElementToRawText(element); + + assert.strictEqual(result, "Hello world.\n\n"); +}); + + +test('non-text element without children is converted to empty string', function() { + var element = documents.lineBreak; + + var result = convertElementToRawText(element); + + assert.strictEqual(result, ""); +}); |
