From 0b56dfce42c3944cce47e284608e6806f4c839c3 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 3 Jul 2016 19:19:21 +0100 Subject: Move tests to test for easier Mocha usage --- test/docx/notes-reader.tests.js | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 test/docx/notes-reader.tests.js (limited to 'test/docx/notes-reader.tests.js') 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); + }); + }); +} -- cgit v1.2.3