aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2013-04-08 20:30:34 +0100
committerMichael Williamson <mike@zwobble.org>2013-04-08 20:30:34 +0100
commit5eb933d6c001caf7e9cba0339165f59819f79728 (patch)
treedf8ff3eb08c0aa53aada437d1b1b723983cc5404
parent6d764fc3241996b3da3b2d4a2c50974bdf1ea058 (diff)
Store styleName directly on paragraph
-rw-r--r--lib/documents.js11
-rw-r--r--tests/document-xml-reader.tests.js6
2 files changed, 13 insertions, 4 deletions
diff --git a/lib/documents.js b/lib/documents.js
index d1c1e03..af416da 100644
--- a/lib/documents.js
+++ b/lib/documents.js
@@ -5,9 +5,18 @@ function Document(children) {
};
}
-Paragraph = ElementWithChildren("paragraph");
Run = ElementWithChildren("run");
+function Paragraph(children, properties) {
+ properties = properties || {};
+ return {
+ type: "paragraph",
+ children: children,
+ styleName: properties.styleName,
+ properties: properties
+ };
+}
+
function Text(value) {
return {
type: "text",
diff --git a/tests/document-xml-reader.tests.js b/tests/document-xml-reader.tests.js
index d1378fa..d71f76c 100644
--- a/tests/document-xml-reader.tests.js
+++ b/tests/document-xml-reader.tests.js
@@ -22,15 +22,15 @@ describe("readXmlElement: ", function() {
test("paragraph has no style if it has no properties", function() {
var paragraphXml = new XmlElement("w:p", {}, []);
var paragraph = readXmlElementValue(paragraphXml);
- assert.deepEqual(paragraph.properties.styleName, undefined);
+ assert.deepEqual(paragraph.styleName, undefined);
});
test("paragraph has style 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]);
- var result = readXmlElement(paragraphXml);
- assert.deepEqual(result.value.properties.styleName, "Heading1");
+ var paragraph = readXmlElementValue(paragraphXml);
+ assert.deepEqual(paragraph.styleName, "Heading1");
});
test("reads styles from run properties", function() {