From c4a3d3abcf89fcba9fda9b4bad4dcc666d205c34 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 26 Jan 2015 21:55:45 +0000 Subject: Warn on unsupported image types --- tests/docx/document-xml-reader.tests.js | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'tests/docx/document-xml-reader.tests.js') diff --git a/tests/docx/document-xml-reader.tests.js b/tests/docx/document-xml-reader.tests.js index 53f2aa0..0b5a75f 100644 --- a/tests/docx/document-xml-reader.tests.js +++ b/tests/docx/document-xml-reader.tests.js @@ -34,7 +34,8 @@ function convertXmlToDocumentValue(element, options) { var fakeContentTypes = { findContentType: function(filePath) { var extensionTypes = { - ".png": "image/png" + ".png": "image/png", + ".emf": "image/x-emf" }; return extensionTypes[path.extname(filePath)]; } @@ -289,6 +290,28 @@ describe("readXmlElement: ", function() { }); }); + test("warning if unsupported image type", function() { + var drawing = createInlineImage({ + relationshipId: "rId5", + description: "It's a hat" + }); + + var imageBuffer = new Buffer("Not an image at all!"); + var reader = new DocumentXmlReader({ + relationships: { + "rId5": {target: "media/hat.emf"} + }, + contentTypes: fakeContentTypes, + docxFile: createFakeDocxFile({ + "word/media/hat.emf": imageBuffer + }) + }); + var result = reader.readXmlElement(drawing); + assert.deepEqual(result.messages, [warning("Image of type image/x-emf is unlikely to display in web browsers")]); + var element = single(result.value); + assert.equal(element.contentType, "image/x-emf"); + }); + test("no elements created if image cannot be found in w:drawing", function() { var drawing = new XmlElement("w:drawing", {}, []); -- cgit v1.2.3