diff options
Diffstat (limited to 'test/docx/notes-reader.tests.js')
| -rw-r--r-- | test/docx/notes-reader.tests.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/docx/notes-reader.tests.js b/test/docx/notes-reader.tests.js new file mode 100644 index 0000000..79ffed3 --- /dev/null +++ b/test/docx/notes-reader.tests.js @@ -0,0 +1,39 @@ +var assert = require("assert"); + +var createFootnotesReader = require("../../lib/docx/notes-reader").createFootnotesReader; +var BodyReader = require("../../lib/docx/body-reader").BodyReader; +var documents = require("../../lib/documents"); +var XmlElement = require("../../lib/xml").Element; +var test = require("../testing").test; + + +describe('readFootnotesXml', function() { + test('ID and body of footnote are read', function() { + var bodyReader = new BodyReader({}); + var footnoteBody = [new XmlElement("w:p", {}, [])]; + var footnotes = createFootnotesReader(bodyReader)({ + root: new XmlElement("w:footnotes", {}, [ + new XmlElement("w:footnote", {"w:id": "1"}, footnoteBody) + ]) + }); + assert.equal(footnotes.value.length, 1); + assert.deepEqual(footnotes.value[0].body, [new documents.Paragraph([])]); + assert.deepEqual(footnotes.value[0].noteId, "1"); + }); +}); + +footnoteTypeIsIgnored('continuationSeparator'); +footnoteTypeIsIgnored('separator'); + +function footnoteTypeIsIgnored(type) { + describe('footnotes of type ' + type + ' are ignored', function() { + test('ID and body of footnote are read', function() { + var footnotes = createFootnotesReader()({ + root: new XmlElement("w:footnotes", {}, [ + new XmlElement("w:footnote", {"w:id": "1", "w:type": type}, []) + ]) + }); + assert.equal(footnotes.value.length, 0); + }); + }); +} |
