diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-02-04 08:20:54 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-02-04 13:34:16 +0000 |
| commit | 53804571b26abb1d020a4fc6a05be546c787b30a (patch) | |
| tree | 4b278eee9e4e5e03ec5f22e3f380c7acbf32041f /tests | |
| parent | b7c2373a32a64050986288a2eb68c4fd69f7e7eb (diff) | |
Handle missing paragraph styles in the source document
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/docx/body-reader.tests.js | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/tests/docx/body-reader.tests.js b/tests/docx/body-reader.tests.js index d1a5585..9c93569 100644 --- a/tests/docx/body-reader.tests.js +++ b/tests/docx/body-reader.tests.js @@ -46,7 +46,7 @@ describe("readXmlElement: ", function() { assert.deepEqual(paragraph.styleId, null); }); - test("paragraph has style ID read from paragraph properties if present", function() { + test("paragraph has style ID and name read from paragraph properties if present", function() { var styleXml = new XmlElement("w:pStyle", {"w:val": "Heading1"}, []); var propertiesXml = new XmlElement("w:pPr", {}, [styleXml]); var paragraphXml = new XmlElement("w:p", {}, [propertiesXml]); @@ -55,17 +55,21 @@ describe("readXmlElement: ", function() { var paragraph = readXmlElementValue(paragraphXml, {styles: styles}); assert.deepEqual(paragraph.styleId, "Heading1"); + assert.deepEqual(paragraph.styleName, "Heading 1"); }); - test("paragraph has style name read from paragraph properties and styles", function() { + test("warning is emitted when paragraph style cannot be found", function() { var styleXml = new XmlElement("w:pStyle", {"w:val": "Heading1"}, []); var propertiesXml = new XmlElement("w:pPr", {}, [styleXml]); var paragraphXml = new XmlElement("w:p", {}, [propertiesXml]); - var styles = new Styles({"Heading1": {name: "Heading 1"}}, {}); + var styles = new Styles({}, {}); - var paragraph = readXmlElementValue(paragraphXml, {styles: styles}); - assert.deepEqual(paragraph.styleName, "Heading 1"); + var result = readXmlElement(paragraphXml, {styles: styles}); + var paragraph = result.value; + assert.deepEqual(paragraph.styleId, "Heading1"); + assert.deepEqual(paragraph.styleName, null); + assert.deepEqual(result.messages, [warning("Style with ID Heading1 was referenced but not defined in the document")]); }); test("paragraph has justification read from paragraph properties if present", function() { |
