summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-08-16 14:32:53 +0100
committerMichael Williamson <mike@zwobble.org>2015-08-16 14:32:53 +0100
commitf41387191bbb87ecd38e05742d61dc663595c3d0 (patch)
tree090c852237421dee9c3088d0d5f95cc325afa70a
parent9ff57bb770e0296bb2f5b7a41711c53954eb8c4e (diff)
Add writer for XML that can write out root nodes without attributes
-rw-r--r--lib/xml/writer.js15
-rw-r--r--package.json3
-rw-r--r--tests/xml/writer.tests.js15
3 files changed, 32 insertions, 1 deletions
diff --git a/lib/xml/writer.js b/lib/xml/writer.js
new file mode 100644
index 0000000..e48f3a1
--- /dev/null
+++ b/lib/xml/writer.js
@@ -0,0 +1,15 @@
+var xmlbuilder = require("xmlbuilder");
+
+
+exports.writeString = writeString;
+
+
+function writeString(root) {
+ return xmlbuilder
+ .create(root.name, {
+ version: '1.0',
+ encoding: 'UTF-8',
+ standalone: true
+ })
+ .end();
+}
diff --git a/package.json b/package.json
index 67597b4..7e11c75 100644
--- a/package.json
+++ b/package.json
@@ -23,7 +23,8 @@
"lop": "~0.3.0",
"async": "~0.2.6",
"nomnom": "~1.6.2",
- "jszip": "~2.5.0"
+ "jszip": "~2.5.0",
+ "xmlbuilder": "~2.6.4"
},
"devDependencies": {
"mocha": "~2.1",
diff --git a/tests/xml/writer.tests.js b/tests/xml/writer.tests.js
new file mode 100644
index 0000000..020e638
--- /dev/null
+++ b/tests/xml/writer.tests.js
@@ -0,0 +1,15 @@
+var assert = require("assert");
+
+var Element = require("../../lib/xml").Element;
+var writer = require("../../lib/xml/writer");
+var test = require("../testing").test;
+
+
+describe('xml.writer', function() {
+ test('writing empty root element writes out xml declaration and empty root element', function() {
+ assert.equal(writer.writeString(new Element("root")),
+ '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' +
+ '<root/>');
+ });
+});
+