aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2014-04-22 11:47:31 +0100
committerMichael Williamson <mike@zwobble.org>2014-04-22 11:47:31 +0100
commit310102bdac9a4258abc99447a7decd7024ca0667 (patch)
treeafd84568661f3026cbcc817b721082b5230bb924
parentc33d575f33591f0b7b2e838b5dc21b6b0cc3a457 (diff)
Pass options object into DocumentXmlReader
-rw-r--r--lib/docx/document-xml-reader.js8
-rw-r--r--lib/docx/docx-reader.js7
-rw-r--r--tests/docx/document-xml-reader.tests.js35
3 files changed, 29 insertions, 21 deletions
diff --git a/lib/docx/document-xml-reader.js b/lib/docx/document-xml-reader.js
index 15a2dae..fc4b630 100644
--- a/lib/docx/document-xml-reader.js
+++ b/lib/docx/document-xml-reader.js
@@ -8,7 +8,13 @@ var Result = require("../results").Result;
var warning = require("../results").warning;
-function DocumentXmlReader(relationships, contentTypes, docxFile, numbering) {
+function DocumentXmlReader(options) {
+ var relationships = options.relationships;
+ var contentTypes = options.contentTypes;
+ var docxFile = options.docxFile;
+ var numbering = options.numbering;
+
+
function convertXmlToDocument(documentXml) {
var body = documentXml.root.first("w:body");
diff --git a/lib/docx/docx-reader.js b/lib/docx/docx-reader.js
index 82a647c..20c4834 100644
--- a/lib/docx/docx-reader.js
+++ b/lib/docx/docx-reader.js
@@ -20,7 +20,12 @@ function read(options) {
readNumberingFromZipFile(docxFile),
readXmlFromZipFile(docxFile, "word/document.xml")
]).spread(function(relationships, contentTypes, numbering, documentXml) {
- var reader = new DocumentXmlReader(relationships, contentTypes, docxFile, numbering);
+ var reader = new DocumentXmlReader({
+ relationships: relationships,
+ contentTypes: contentTypes,
+ docxFile: docxFile,
+ numbering: numbering
+ });
return reader.convertXmlToDocument(documentXml);
});
});
diff --git a/tests/docx/document-xml-reader.tests.js b/tests/docx/document-xml-reader.tests.js
index 714134e..9a96d1e 100644
--- a/tests/docx/document-xml-reader.tests.js
+++ b/tests/docx/document-xml-reader.tests.js
@@ -11,7 +11,7 @@ var createFakeDocxFile = testing.createFakeDocxFile;
function readXmlElement(element, options) {
options = options || {}
- return new DocumentXmlReader(options.relationships || {}).readXmlElement(element);
+ return new DocumentXmlReader(options).readXmlElement(element);
}
function readXmlElementValue(element) {
@@ -59,12 +59,9 @@ describe("readXmlElement: ", function() {
var numbering = new Numbering({"42": {"1": {isOrdered: true, level: "1"}}});
- var reader = new DocumentXmlReader(
- {},
- null,
- null,
- numbering
- );
+ var reader = new DocumentXmlReader({
+ numbering: numbering
+ });
var paragraph = reader.readXmlElement(paragraphXml).value;
assert.deepEqual(paragraph.numbering, {level: "1", isOrdered: true});
});
@@ -148,15 +145,15 @@ describe("readXmlElement: ", function() {
});
var imageBuffer = new Buffer("Not an image at all!");
- var reader = new DocumentXmlReader(
- {
+ var reader = new DocumentXmlReader({
+ relationships: {
"rId5": {target: "media/hat.png"}
},
- fakeContentTypes,
- createFakeDocxFile({
+ contentTypes: fakeContentTypes,
+ docxFile: createFakeDocxFile({
"word/media/hat.png": imageBuffer
})
- );
+ });
var result = reader.readXmlElement(drawing);
assert.deepEqual(result.messages, []);
var element = single(result.value);
@@ -186,15 +183,15 @@ describe("readXmlElement: ", function() {
]);
var imageBuffer = new Buffer("Not an image at all!");
- var reader = new DocumentXmlReader(
- {
+ var reader = new DocumentXmlReader({
+ relationships: {
"rId5": {target: "media/hat.png"}
},
- fakeContentTypes,
- createFakeDocxFile({
+ contentTypes: fakeContentTypes,
+ docxFile: createFakeDocxFile({
"word/media/hat.png": imageBuffer
})
- );
+ });
var result = reader.readXmlElement(drawing);
assert.deepEqual(result.messages, []);
var element = single(result.value);
@@ -209,7 +206,7 @@ describe("readXmlElement: ", function() {
test("no elements created if image cannot be found in w:drawing", function() {
var drawing = new XmlElement("w:drawing", {}, []);
- var reader = new DocumentXmlReader();
+ var reader = new DocumentXmlReader({});
var result = reader.readXmlElement(drawing);
assert.deepEqual(result.messages, []);
assert.deepEqual(result.value, []);
@@ -218,7 +215,7 @@ describe("readXmlElement: ", function() {
test("no elements created if image cannot be found in wp:inline", function() {
var drawing = new XmlElement("wp:inline", {}, []);
- var reader = new DocumentXmlReader();
+ var reader = new DocumentXmlReader({});
var result = reader.readXmlElement(drawing);
assert.deepEqual(result.messages, []);
assert.deepEqual(result.value, []);