diff options
| author | Michael Williamson <mike@zwobble.org> | 2013-04-27 16:54:42 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2013-04-27 16:54:42 +0100 |
| commit | 54c5c0ee38eb915275be4b0713fcaafb56033ac3 (patch) | |
| tree | b4f08f49fb83dabbd4abbe89ace4f9e4a1dfc912 /tests/document-xml-reader.tests.js | |
| parent | da8ef999085c7f229da25673a2b4fbf908c7a3f0 (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.js | 26 |
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"); + } +} |
