From f41387191bbb87ecd38e05742d61dc663595c3d0 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 16 Aug 2015 14:32:53 +0100 Subject: Add writer for XML that can write out root nodes without attributes --- lib/xml/writer.js | 15 +++++++++++++++ package.json | 3 ++- tests/xml/writer.tests.js | 15 +++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 lib/xml/writer.js create mode 100644 tests/xml/writer.tests.js 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")), + '' + + ''); + }); +}); + -- cgit v1.2.3