easyxml
Version:
A configurable object to XML converter
98 lines (76 loc) • 2.12 kB
JavaScript
var assert = require('assert');
var fs = require('fs');
var EasyXml = require('../index.js');
describe("Singularize", function () {
it("should parse a JSON object without singularize to XML", function() {
var easyXML = new EasyXml({
singularize: false,
indent: 4
});
var before = {
CmsUsers: [
{ user: "user1" },
{ user: "user2" }
]
};
var after = easyXML.render(before);
var expected = fs.readFileSync('./test/fixtures/singularize.xml', 'utf8');
assert.strictEqual(after, expected);
});
it("should parse a JSON object without singularize to XML (with object)", function() {
var easyXML = new EasyXml({
singularize: false,
indent: 4
});
var before = {
CmsUsers: [
{ user: { name: 'user1' } },
{ user: { name: 'user2' } }
]
};
var after = easyXML.render(before);
var expected = fs.readFileSync('./test/fixtures/singularize2.xml', 'utf8');
assert.strictEqual(after, expected);
});
it("should parse a JSON object with correct captalization", function() {
var easyXML = new EasyXml({
singularize: true,
indent: 4
});
var before = {
Users: [
{ name: "user1" },
{ name: "user2" }
]
};
var after = easyXML.render(before);
var expected = fs.readFileSync('./test/fixtures/singularize3.xml', 'utf8');
assert.strictEqual(after, expected);
});
it("should parse a JSON object and correctly nest child nodes", function() {
var easyXML = new EasyXml({
singularize: false,
indent: 4
});
var before = {
CmsUsers: [
{
user: {
name: "user1",
email: "user1@example.com"
}
},
{
user: {
name: "user2",
email: "user2@example.com"
}
}
]
};
var after = easyXML.render(before);
var expected = fs.readFileSync('./test/fixtures/singularizeMultipleProperties.xml', 'utf8');
assert.strictEqual(after, expected);
});
});
;