RSS Git Download  Clone
Raw View History
Blames found: 12 Mode: javascript Binary: false


Hang on, we reloading big blames...
var fs = require('fs'); var parser = require('../lib'); var assert = require('assert');
var file = __dirname + '/fixtures/coerce.xml';
var data = fs.readFileSync(file); // With coercion var result = parser.toJson(data, {reversible: true, coerce: true, object: true});
console.log(result.itemRecord.value);
assert.strictEqual(result.itemRecord.value[0].longValue['$t'], 12345); assert.strictEqual(result.itemRecord.value[1].stringValue.number, false); assert.strictEqual(result.itemRecord.value[2].moneyValue.number, true); assert.strictEqual(result.itemRecord.value[2].moneyValue['$t'], 104.95);
assert.strictEqual(result.itemRecord.value[2].moneyValue.text, 123.45); assert.strictEqual(result.itemRecord.value[8].text['$t'], 42.42);
// Without coercion
result = parser.toJson(data, {reversible: true, coerce: false, object: true});
assert.strictEqual(result.itemRecord.value[0].longValue['$t'], '12345'); assert.strictEqual(result.itemRecord.value[1].stringValue.number, 'false'); assert.strictEqual(result.itemRecord.value[2].moneyValue.number, 'true');
assert.strictEqual(result.itemRecord.value[2].moneyValue['$t'], '104.95'); assert.strictEqual(result.itemRecord.value[2].moneyValue.text, '123.45'); assert.strictEqual(result.itemRecord.value[8].text['$t'], '42.42');
// With coercion as an optional object
var result = parser.toJson(data, {reversible: true, coerce: {text:String}, object: true}); assert.strictEqual(result.itemRecord.value[0].longValue['$t'], 12345); assert.strictEqual(result.itemRecord.value[1].stringValue.number, false); assert.strictEqual(result.itemRecord.value[2].moneyValue.number, true); assert.strictEqual(result.itemRecord.value[2].moneyValue['$t'], 104.95); assert.strictEqual(result.itemRecord.value[2].moneyValue.text, '123.45'); assert.strictEqual(result.itemRecord.value[8].text['$t'], '42.42');