test-space.js 1.0 KB

1234567891011121314151617181920212223242526
  1. var fs = require('fs');
  2. var path = require('path');
  3. var parser = require('../lib');
  4. var assert = require('assert');
  5. var xml = fs.readFileSync(__dirname + '/fixtures/spacetext.xml');
  6. var json = parser.toJson(xml, {object: true, space: true});
  7. console.log('xml => json: \n%j', json);
  8. console.log('---------------------\njson => xml: \n%j\n',
  9. parser.toXml(fs.readFileSync(__dirname + '/fixtures/spacetext.json')));
  10. function eql(a, b) {
  11. for (var k in a) {
  12. assert.deepEqual(a[k], b[k], JSON.stringify(a) + ' should equal ' + JSON.stringify(b));
  13. }
  14. }
  15. assert.deepEqual(json.doc.Column.length, 5, 'should have 5 Columns');
  16. eql(json.doc.Column[0], {Name: 'shit', Value: {type: 'STRING', $t: ' abc\nasdf\na '}});
  17. eql(json.doc.Column[1], {Name: 'foo', Value: {type: 'STRING'}});
  18. eql(json.doc.Column[2], {Name: 'foo2', Value: {type: 'STRING'}});
  19. eql(json.doc.Column[3], {Name: 'bar', Value: {type: 'STRING', $t: ' '}});
  20. eql(json.doc.Column[4], {PK: 'true', Name: 'uid', Value: {type: 'STRING', $t: 'god'}});
  21. console.log('xml2json options.space passed!');