diff options
| author | Michael Williamson <mike@zwobble.org> | 2018-01-16 22:33:06 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2018-01-16 22:33:06 +0000 |
| commit | d3b5060cdd565e6d7454c75f8de68987be9ed2c8 (patch) | |
| tree | 8a5a8253ff4f32e3ad87d1b71793fbf4a3be7d34 /test/docx/docx-reader.tests.js | |
| parent | cc1b5b19480befc5611a469424a5ae16f9ebce21 (diff) | |
Read document XML path from _rels/.rels
Diffstat (limited to 'test/docx/docx-reader.tests.js')
| -rw-r--r-- | test/docx/docx-reader.tests.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test/docx/docx-reader.tests.js b/test/docx/docx-reader.tests.js index 283d03a..a25d76e 100644 --- a/test/docx/docx-reader.tests.js +++ b/test/docx/docx-reader.tests.js @@ -2,6 +2,7 @@ var assert = require("assert"); var docxReader = require("../../lib/docx/docx-reader"); var documents = require("../../lib/documents"); +var xml = require("../../lib/xml"); var testing = require("../testing"); var test = require("../test")(module); @@ -38,3 +39,31 @@ test("hyperlink hrefs are read from relationships file", function() { assert.equal(hyperlink.children.length, 1); }); }); + +var relationshipNamespaces = { + "r": "http://schemas.openxmlformats.org/package/2006/relationships" +}; + +test("when document.xml is not present then document is found using _rels/.rels", function() { + var relationships = xml.element("r:Relationships", {}, [ + xml.element("r:Relationship", { + "Type": "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument", + "Target": "word/document2.xml" + }) + ]); + + var docxFile = createFakeDocxFile({ + "word/document2.xml": testData("simple/word/document.xml"), + "_rels/.rels": xml.writeString(relationships, relationshipNamespaces) + }); + var expectedDocument = documents.Document([ + documents.Paragraph([ + documents.Run([ + documents.Text("Hello.") + ]) + ]) + ]); + return docxReader.read(docxFile).then(function(result) { + assert.deepEqual(expectedDocument, result.value); + }); +}); |
