diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-08-16 14:52:24 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-08-16 14:54:50 +0100 |
| commit | 93625f1557428915f7a68156e1edc95b9d849eae (patch) | |
| tree | b1851f8b49c0983c899b8ef33cbcb5ff8a3966d4 | |
| parent | 578ff57e4b86c4b31268e8b22a401c7bfaa9fe1a (diff) | |
Write element attributes
| -rw-r--r-- | lib/xml/writer.js | 4 | ||||
| -rw-r--r-- | tests/xml/writer.tests.js | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/lib/xml/writer.js b/lib/xml/writer.js index 90746af..418a4b9 100644 --- a/lib/xml/writer.js +++ b/lib/xml/writer.js @@ -20,14 +20,14 @@ function writeString(root) { var nodeWriters = { element: writeElement, text: writeTextNode -} +}; function writeNode(builder, node) { return nodeWriters[node.type](builder, node); } function writeElement(builder, element) { - var elementBuilder = builder.element(element.name); + var elementBuilder = builder.element(element.name, element.attributes); element.children.forEach(function(child) { writeNode(elementBuilder, child); }); diff --git a/tests/xml/writer.tests.js b/tests/xml/writer.tests.js index a2f52ed..a542dc3 100644 --- a/tests/xml/writer.tests.js +++ b/tests/xml/writer.tests.js @@ -26,6 +26,14 @@ describe('xml.writer', function() { '<root><album><year/><song/></album></root>'); }); + test('can write element attributes', function() { + var element = xml.element("root", {}, [ + xml.element("album", {"title": "Everything in Transit"}) + ]); + assertXmlString(element, + '<root><album title="Everything in Transit"/></root>'); + }); + test('can write text nodes', function() { var element = xml.element("root", {}, [ xml.element("album", {}, [ |
