diff --git a/lib/xml.js b/lib/xml.js index 01a5654..941fa84 100644 --- a/lib/xml.js +++ b/lib/xml.js @@ -81,7 +81,7 @@ function xml(input, options) { if (input && input.forEach) { input.forEach(function (value, i) { var last; - if (i + 1 === input.length) + if (i == 0) last = end; add(value, last); }); diff --git a/test/xml.test.js b/test/xml.test.js index 845e79d..e6823d7 100644 --- a/test/xml.test.js +++ b/test/xml.test.js @@ -148,3 +148,22 @@ test('xml declaration options', t => { t.is(xml([{a: 'test'}], {declaration: true, indent: '\n'}), '\ntest'); t.is(xml([{a: 'test'}], {}), 'test'); }); + +test('multiple elements for xml', t=> { + var elem = xml.element({ _attr: { xmlns: 'http://www.opengis.net/kml/2.2'} }); + var doc = xml.element({}); + + let output = ""; + + var stream = xml([{kml: elem}, {Document: doc}]) + stream.on('data', data => { + output += data; + }); + + stream.on('end', () => { + t.is(output, ''); + }); + + doc.close(); + elem.close(); +});