UNPKG

xml2js

Version:
53 lines (48 loc) 2.5 kB
# use zap to run tests, it also detects CoffeeScript files xml2js = require('../lib/xml2js') fs = require('fs') sys = require('sys') assert = require('assert') module.exports = 'test default parse': (test) -> x2js = new xml2js.Parser() x2js.addListener 'end', (r) -> console.log 'Result object: ' + sys.inspect(r, false, 10) assert.equal r['chartest']['@']['desc'], 'Test for CHARs' assert.equal r['chartest']['#'], 'Character data here!' assert.equal r['cdatatest']['@']['desc'], 'Test for CDATA' assert.equal r['cdatatest']['@']['misc'], 'true' assert.equal r['cdatatest']['#'], 'CDATA here!' assert.equal r['nochartest']['@']['desc'], 'No data' assert.equal r['nochartest']['@']['misc'], 'false' assert.equal r['listtest']['item'][0]['#'], 'This is character data!' assert.equal r['listtest']['item'][0]['subitem'][0], 'Foo(1)' assert.equal r['listtest']['item'][0]['subitem'][1], 'Foo(2)' assert.equal r['listtest']['item'][0]['subitem'][2], 'Foo(3)' assert.equal r['listtest']['item'][0]['subitem'][3], 'Foo(4)' assert.equal r['listtest']['item'][1], 'Qux.' assert.equal r['listtest']['item'][2], 'Quux.' test.finish() fs.readFile __dirname + '/fixtures/sample.xml', (err, data) -> x2js.parseString data 'test parse EXPLICIT_CHARKEY': (test) -> x2js = new xml2js.Parser() x2js.EXPLICIT_CHARKEY = true x2js.addListener 'end', (r) -> assert.equal r['chartest']['@']['desc'], 'Test for CHARs' assert.equal r['chartest']['#'], 'Character data here!' assert.equal r['cdatatest']['@']['desc'], 'Test for CDATA' assert.equal r['cdatatest']['@']['misc'], 'true' assert.equal r['cdatatest']['#'], 'CDATA here!' assert.equal r['nochartest']['@']['desc'], 'No data' assert.equal r['nochartest']['@']['misc'], 'false' assert.equal r['listtest']['item'][0]['#'], 'This is character data!' assert.equal r['listtest']['item'][0]['subitem'][0]['#'], 'Foo(1)' assert.equal r['listtest']['item'][0]['subitem'][1]['#'], 'Foo(2)' assert.equal r['listtest']['item'][0]['subitem'][2]['#'], 'Foo(3)' assert.equal r['listtest']['item'][0]['subitem'][3]['#'], 'Foo(4)' assert.equal r['listtest']['item'][1]['#'], 'Qux.' assert.equal r['listtest']['item'][2]['#'], 'Quux.' test.finish() fs.readFile __dirname + '/fixtures/sample.xml', (err, data) -> x2js.parseString data