diff options
| author | Michael Williamson <mike@zwobble.org> | 2024-02-18 10:49:48 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2024-02-18 10:49:48 +0000 |
| commit | 7194953e90ab7a24b49f471b23cc30d03beba517 (patch) | |
| tree | 659352cc9f7ca3bed579c015d18807e97078dda1 /test | |
| parent | 1b4c1ed29276fc1207cefd15e2b8ad154ee13d55 (diff) | |
Test parsing of document XML
Diffstat (limited to 'test')
| -rw-r--r-- | test/docx/body-reader.tests.js | 10 | ||||
| -rw-r--r-- | test/docx/document-xml-reader.tests.js | 25 | ||||
| -rw-r--r-- | test/docx/testing.js | 12 |
3 files changed, 38 insertions, 9 deletions
diff --git a/test/docx/body-reader.tests.js b/test/docx/body-reader.tests.js index c9fe7d3..da9501d 100644 --- a/test/docx/body-reader.tests.js +++ b/test/docx/body-reader.tests.js @@ -19,27 +19,19 @@ var isText = documentMatchers.isText; var isTable = documentMatchers.isTable; var isRow = documentMatchers.isRow; -var createBodyReader = require("../../lib/docx/body-reader").createBodyReader; var _readNumberingProperties = require("../../lib/docx/body-reader")._readNumberingProperties; var documents = require("../../lib/documents"); var xml = require("../../lib/xml"); var XmlElement = xml.Element; -var defaultNumbering = require("../../lib/docx/numbering-xml").defaultNumbering; var Relationships = require("../../lib/docx/relationships-reader").Relationships; var Styles = require("../../lib/docx/styles-reader").Styles; var warning = require("../../lib/results").warning; var testing = require("../testing"); var test = require("../test")(module); +var createBodyReaderForTests = require("./testing").createBodyReaderForTests; var createFakeDocxFile = testing.createFakeDocxFile; -function createBodyReaderForTests(options) { - options = Object.create(options || {}); - options.styles = options.styles || new Styles({}, {}); - options.numbering = options.numbering || defaultNumbering; - return createBodyReader(options); -} - function readXmlElement(element, options) { return createBodyReaderForTests(options).readXmlElement(element); } diff --git a/test/docx/document-xml-reader.tests.js b/test/docx/document-xml-reader.tests.js new file mode 100644 index 0000000..08389e1 --- /dev/null +++ b/test/docx/document-xml-reader.tests.js @@ -0,0 +1,25 @@ +var assert = require("assert"); + +var documents = require("../../lib/documents"); +var DocumentXmlReader = require("../../lib/docx/document-xml-reader").DocumentXmlReader; +var xml = require("../../lib/xml"); +var test = require("../test")(module); +var createBodyReaderForTests = require("./testing").createBodyReaderForTests; + +test("when body element is present then body is read", function() { + var bodyReader = createBodyReaderForTests({}); + var documentXmlReader = new DocumentXmlReader({ + bodyReader: bodyReader + }); + var paragraphXml = xml.element("w:p", {}, []); + var bodyXml = xml.element("w:body", {}, [paragraphXml]); + var documentXml = xml.element("w:document", {}, [bodyXml]); + + var result = documentXmlReader.convertXmlToDocument(documentXml); + + assert.deepEqual(result.messages, []); + assert.deepEqual(result.value, documents.document( + [documents.paragraph([])], + {} + )); +}); diff --git a/test/docx/testing.js b/test/docx/testing.js new file mode 100644 index 0000000..4f1ed84 --- /dev/null +++ b/test/docx/testing.js @@ -0,0 +1,12 @@ +var createBodyReader = require("../../lib/docx/body-reader").createBodyReader; +var defaultNumbering = require("../../lib/docx/numbering-xml").defaultNumbering; +var Styles = require("../../lib/docx/styles-reader").Styles; + +function createBodyReaderForTests(options) { + options = Object.create(options || {}); + options.styles = options.styles || new Styles({}, {}); + options.numbering = options.numbering || defaultNumbering; + return createBodyReader(options); +} + +exports.createBodyReaderForTests = createBodyReaderForTests; |
