aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-10-04 21:24:17 +0100
committerMichael Williamson <mike@zwobble.org>2016-10-04 21:24:17 +0100
commit095dc4513c3eeadb4dbe23d830156c9b0c39e875 (patch)
tree3f0e545986db9a25a135fcf69a553bf0dd5e81e5 /test
parent90351d1f4a8d7bf89cfc09e5abe83564257c45d9 (diff)
Ignore run boolean elements that have value of false
Diffstat (limited to 'test')
-rw-r--r--test/docx/body-reader.tests.js44
1 files changed, 44 insertions, 0 deletions
diff --git a/test/docx/body-reader.tests.js b/test/docx/body-reader.tests.js
index 62178ec..01b6503 100644
--- a/test/docx/body-reader.tests.js
+++ b/test/docx/body-reader.tests.js
@@ -184,6 +184,13 @@ test("isBold is true if bold element is present", function() {
assert.equal(run.isBold, true);
});
+test("isBold is false if bold element is present and w:val is false", function() {
+ var boldXml = new XmlElement("w:b", {"w:val": "false"});
+ var runXml = runWithProperties([boldXml]);
+ var run = readXmlElementValue(runXml);
+ assert.equal(run.isBold, false);
+});
+
test("isUnderline is false if underline element is not present", function() {
var runXml = runWithProperties([]);
var run = readXmlElementValue(runXml);
@@ -223,6 +230,43 @@ test("isItalic is true if bold element is present", function() {
assert.equal(run.isItalic, true);
});
+var booleanRunProperties = [
+ {name: "isBold", tagName: "w:b"},
+ {name: "isUnderline", tagName: "w:u"},
+ {name: "isItalic", tagName: "w:i"},
+ {name: "isStrikethrough", tagName: "w:strike"},
+];
+
+booleanRunProperties.forEach(function(runProperty) {
+ test(runProperty.name + " is false if " + runProperty.tagName + " is present and w:val is false", function() {
+ var propertyXml = new XmlElement(runProperty.tagName, {"w:val": "false"});
+ var runXml = runWithProperties([propertyXml]);
+ var run = readXmlElementValue(runXml);
+ assert.equal(run[runProperty.name], false);
+ });
+
+ test(runProperty.name + " is false if " + runProperty.tagName + " is present and w:val is 0", function() {
+ var propertyXml = new XmlElement(runProperty.tagName, {"w:val": "0"});
+ var runXml = runWithProperties([propertyXml]);
+ var run = readXmlElementValue(runXml);
+ assert.equal(run[runProperty.name], false);
+ });
+
+ test(runProperty.name + " is true if " + runProperty.tagName + " is present and w:val is true", function() {
+ var propertyXml = new XmlElement(runProperty.tagName, {"w:val": "true"});
+ var runXml = runWithProperties([propertyXml]);
+ var run = readXmlElementValue(runXml);
+ assert.equal(run[runProperty.name], true);
+ });
+
+ test(runProperty.name + " is true if " + runProperty.tagName + " is present and w:val is 1", function() {
+ var propertyXml = new XmlElement(runProperty.tagName, {"w:val": "1"});
+ var runXml = runWithProperties([propertyXml]);
+ var run = readXmlElementValue(runXml);
+ assert.equal(run[runProperty.name], true);
+ });
+});
+
test("run has baseline vertical alignment by default", function() {
var runXml = runWithProperties([]);
var run = readXmlElementValue(runXml);