aboutsummaryrefslogtreecommitdiff
path: root/tests/docx-reader.tests.js
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2013-04-01 15:50:24 +0100
committerMichael Williamson <mike@zwobble.org>2013-04-01 15:50:24 +0100
commit7aecbe20f174100cdc6f72238f43ef3d96e7fb50 (patch)
tree11f826c8fef2bae26397d8374f51c94d7d336791 /tests/docx-reader.tests.js
parent6fdee5a4b57832682e1c43156b2e075a5552f595 (diff)
Have docx-reader emit warnings when finding unrecognised elements
Diffstat (limited to 'tests/docx-reader.tests.js')
-rw-r--r--tests/docx-reader.tests.js46
1 files changed, 29 insertions, 17 deletions
diff --git a/tests/docx-reader.tests.js b/tests/docx-reader.tests.js
index 005f808..3eee8f1 100644
--- a/tests/docx-reader.tests.js
+++ b/tests/docx-reader.tests.js
@@ -23,7 +23,7 @@ describe("docx-reader", function() {
"word/document.xml": testData("simple/word/document.xml")
});
return docxReader.read(docxFile).then(function(result) {
- assert.deepEqual(expectedDocument, result);
+ assert.deepEqual(expectedDocument, result.value);
});
});
@@ -32,7 +32,7 @@ describe("docx-reader", function() {
"word/document.xml": testData("paragraphStyles/word/document.xml")
});
return docxReader.read(docxFile).then(function(result) {
- var paragraph = result.children[0];
+ var paragraph = result.value.children[0];
assert.deepEqual("Heading1", paragraph.properties.styleName);
});
});
@@ -42,7 +42,7 @@ describe("docx-reader", function() {
"word/document.xml": testData("paragraphStyles/word/document.xml")
});
return docxReader.read(docxFile).then(function(result) {
- var paragraph = result.children[0];
+ var paragraph = result.value.children[0];
assert.equal(1, paragraph.children.length);
});
});
@@ -52,50 +52,62 @@ describe("readElement", function() {
test("reads styles from run properties", function() {
var runStyleXml = new XmlElement("w:rStyle", {"w:val": "Emphasis"});
var runPropertiesXml = createRunPropertiesXml([runStyleXml]);
- var element = docxReader.readXmlElement(runPropertiesXml);
- assert.equal(element.styleName, "Emphasis");
+ var result = docxReader.readXmlElement(runPropertiesXml);
+ assert.equal(result.value.styleName, "Emphasis");
});
test("isBold is false if bold element is not present", function() {
var runPropertiesXml = createRunPropertiesXml([]);
- var element = docxReader.readXmlElement(runPropertiesXml);
- assert.equal(element.isBold, false);
+ var result = docxReader.readXmlElement(runPropertiesXml);
+ assert.equal(result.value.isBold, false);
});
test("isBold is true if bold element is present", function() {
var boldXml = new XmlElement("w:b");
var runPropertiesXml = createRunPropertiesXml([boldXml]);
- var element = docxReader.readXmlElement(runPropertiesXml);
- assert.equal(element.isBold, true);
+ var result = docxReader.readXmlElement(runPropertiesXml);
+ assert.equal(result.value.isBold, true);
});
test("isItalic is false if bold element is not present", function() {
var runPropertiesXml = createRunPropertiesXml([]);
- var element = docxReader.readXmlElement(runPropertiesXml);
- assert.equal(element.isItalic, false);
+ var result = docxReader.readXmlElement(runPropertiesXml);
+ assert.equal(result.value.isItalic, false);
});
test("isItalic is true if bold element is present", function() {
var italicXml = new XmlElement("w:i");
var runPropertiesXml = createRunPropertiesXml([italicXml]);
- var element = docxReader.readXmlElement(runPropertiesXml);
- assert.equal(element.isItalic, true);
+ var result = docxReader.readXmlElement(runPropertiesXml);
+ assert.equal(result.value.isItalic, true);
});
test("run properties are attached to run", function() {
var runStyleXml = new XmlElement("w:rStyle", {"w:val": "Emphasis"});
var runPropertiesXml = new XmlElement("w:rPr", {}, [runStyleXml]);
var runXml = new XmlElement("w:r", {}, [runPropertiesXml]);
- var element = docxReader.readXmlElement(runXml);
- assert.equal(element.properties.styleName, "Emphasis");
+ var result = docxReader.readXmlElement(runXml);
+ assert.equal(result.value.properties.styleName, "Emphasis");
});
test("run properties not included as child of run", function() {
var runStyleXml = new XmlElement("w:rStyle", {"w:val": "Emphasis"});
var runPropertiesXml = new XmlElement("w:rPr", {}, [runStyleXml]);
var runXml = new XmlElement("w:r", {}, [runPropertiesXml]);
- var element = docxReader.readXmlElement(runXml);
- assert.deepEqual(element.children, []);
+ var result = docxReader.readXmlElement(runXml);
+ assert.deepEqual(result.value.children, []);
+ });
+
+ test("emits warning on unrecognised element", function() {
+ var unrecognisedElement = new XmlElement("w:not-an-element");
+ var result = docxReader.readXmlElement(unrecognisedElement);
+ assert.deepEqual(
+ result.messages,
+ [{
+ type: "warning",
+ message: "An unrecognised element was ignored: w:not-an-element"
+ }]
+ );
});
});