aboutsummaryrefslogtreecommitdiff
path: root/test/docx/docx-reader.tests.js
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2018-01-16 22:33:06 +0000
committerMichael Williamson <mike@zwobble.org>2018-01-16 22:33:06 +0000
commitd3b5060cdd565e6d7454c75f8de68987be9ed2c8 (patch)
tree8a5a8253ff4f32e3ad87d1b71793fbf4a3be7d34 /test/docx/docx-reader.tests.js
parentcc1b5b19480befc5611a469424a5ae16f9ebce21 (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.js29
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);
+ });
+});