aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-08-04 21:48:04 +0100
committerMichael Williamson <mike@zwobble.org>2015-08-04 21:50:41 +0100
commit91933a7a595e05ef7b860fa0223d2fac16c81c80 (patch)
tree7b7db4fc48970d3dfc5dd5964c92a7c8da506cbb /tests
parent2fcfbd4b3832ec6a6495bc08a2b97fa077c2f380 (diff)
Handle numbering properties without w:ilvl or w:numId
Diffstat (limited to 'tests')
-rw-r--r--tests/docx/body-reader.tests.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/docx/body-reader.tests.js b/tests/docx/body-reader.tests.js
index acc8ca3..172da76 100644
--- a/tests/docx/body-reader.tests.js
+++ b/tests/docx/body-reader.tests.js
@@ -92,6 +92,49 @@ describe("readXmlElement: ", function() {
assert.deepEqual(paragraph.numbering, {level: "1", isOrdered: true});
});
+ test("numbering properties are converted to numbering at specified level", function() {
+ var numberingPropertiesXml = new XmlElement("w:numPr", {}, [
+ new XmlElement("w:ilvl", {"w:val": "1"}),
+ new XmlElement("w:numId", {"w:val": "42"})
+ ]);
+
+ var numbering = new Numbering({"42": {"1": {isOrdered: true, level: "1"}}});
+
+ var reader = new BodyReader({
+ numbering: numbering
+ });
+ var numberingLevel = reader._readNumberingProperties(numberingPropertiesXml);
+ assert.deepEqual(numberingLevel, {level: "1", isOrdered: true});
+ });
+
+ test("numbering properties are ignored if w:ilvl is missing", function() {
+ var numberingPropertiesXml = new XmlElement("w:numPr", {}, [
+ new XmlElement("w:numId", {"w:val": "42"})
+ ]);
+
+ var numbering = new Numbering({"42": {"1": {isOrdered: true, level: "1"}}});
+
+ var reader = new BodyReader({
+ numbering: numbering
+ });
+ var numberingLevel = reader._readNumberingProperties(numberingPropertiesXml);
+ assert.equal(numberingLevel, null);
+ });
+
+ test("numbering properties are ignored if w:numId is missing", function() {
+ var numberingPropertiesXml = new XmlElement("w:numPr", {}, [
+ new XmlElement("w:ilvl", {"w:val": "1"})
+ ]);
+
+ var numbering = new Numbering({"42": {"1": {isOrdered: true, level: "1"}}});
+
+ var reader = new BodyReader({
+ numbering: numbering
+ });
+ var numberingLevel = reader._readNumberingProperties(numberingPropertiesXml);
+ assert.equal(numberingLevel, null);
+ });
+
test("run has no style if it has no properties", function() {
var runXml = runWithProperties([]);
var run = readXmlElementValue(runXml);