diff options
| author | Michael Williamson <mike@zwobble.org> | 2013-04-01 16:39:20 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2013-04-01 16:39:20 +0100 |
| commit | 376094a18d76eef4335e374455f0b2869e53120b (patch) | |
| tree | 7add6cfff3f10792f9acbe7d08d2994b7100b4fa | |
| parent | d7c4b21587e1e0de92d3d0abe7ccc2cabb36ba84 (diff) | |
Ignore irrelevant elements
| -rw-r--r-- | lib/docx-reader.js | 11 | ||||
| -rw-r--r-- | tests/docx-reader.tests.js | 7 |
2 files changed, 15 insertions, 3 deletions
diff --git a/lib/docx-reader.js b/lib/docx-reader.js index 01d558b..3e4054f 100644 --- a/lib/docx-reader.js +++ b/lib/docx-reader.js @@ -50,15 +50,14 @@ function readXmlElement(element) { var handler = xmlElementReaders[element.name]; if (handler) { return handler(element); - } else { + } else if (!Object.prototype.hasOwnProperty.call(ignoreElements, element.name)) { return new Result( null, [warning("An unrecognised element was ignored: " + element.name)] ); } - } else { - return new Result(null); } + return new Result(null); } var xmlElementReaders = { @@ -115,6 +114,12 @@ var xmlElementReaders = { } }; +var ignoreElements = { + "w:bookmarkStart": true, + "w:bookmarkEnd": true, + "w:sectPr": true +}; + function parseXml(string) { return xmlreader.read(string); } diff --git a/tests/docx-reader.tests.js b/tests/docx-reader.tests.js index 720b813..ef880f8 100644 --- a/tests/docx-reader.tests.js +++ b/tests/docx-reader.tests.js @@ -109,6 +109,13 @@ describe("readElement", function() { }] ); }); + + test("w:bookmarkStart is ignored without warning", function() { + var ignoredElement = new XmlElement("w:bookmarkStart"); + var result = docxReader.readXmlElement(ignoredElement); + assert.deepEqual(result.messages, []); + assert.equal(null, result.value); + }); }); function createRunPropertiesXml(children) { |
