aboutsummaryrefslogtreecommitdiff
path: root/tests/document-xml-reader.tests.js
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2013-04-27 16:54:42 +0100
committerMichael Williamson <mike@zwobble.org>2013-04-27 16:54:42 +0100
commit54c5c0ee38eb915275be4b0713fcaafb56033ac3 (patch)
treeb4f08f49fb83dabbd4abbe89ace4f9e4a1dfc912 /tests/document-xml-reader.tests.js
parentda8ef999085c7f229da25673a2b4fbf908c7a3f0 (diff)
Handle w:drawing elements with no children
Diffstat (limited to 'tests/document-xml-reader.tests.js')
-rw-r--r--tests/document-xml-reader.tests.js26
1 files changed, 22 insertions, 4 deletions
diff --git a/tests/document-xml-reader.tests.js b/tests/document-xml-reader.tests.js
index 422a186..51512eb 100644
--- a/tests/document-xml-reader.tests.js
+++ b/tests/document-xml-reader.tests.js
@@ -96,7 +96,7 @@ describe("readXmlElement: ", function() {
var ignoredElement = new XmlElement("w:bookmarkStart");
var result = readXmlElement(ignoredElement);
assert.deepEqual(result.messages, []);
- assert.equal(null, result.value);
+ assert.deepEqual([], result.value);
});
test("can read inline pictures", function() {
@@ -126,13 +126,23 @@ describe("readXmlElement: ", function() {
);
var result = reader.readXmlElement(drawing);
assert.deepEqual(result.messages, []);
- assert.equal("image", result.value.type);
- assert.equal(result.value.altText, "It's a hat");
- return result.value.read()
+ var element = single(result.value);
+ assert.equal("image", element.type);
+ assert.equal(element.altText, "It's a hat");
+ return element.read()
.then(function(readValue) {
assert.equal(readValue, imageBuffer)
});
});
+
+ test("no elements created if image cannot be found in w:drawing", function() {
+ var drawing = new XmlElement("w:drawing", {}, []);
+
+ var reader = new DocumentXmlReader();
+ var result = reader.readXmlElement(drawing);
+ assert.deepEqual(result.messages, []);
+ assert.deepEqual(result.value, []);
+ });
});
function runWithProperties(children) {
@@ -142,3 +152,11 @@ function runWithProperties(children) {
function createRunPropertiesXml(children) {
return new XmlElement("w:rPr", {}, children);
}
+
+function single(array) {
+ if (array.length === 1) {
+ return array[0];
+ } else {
+ throw new Error("Array has " + array.length + " elements");
+ }
+}