add test for checking parsing of nodes with text values randomly around nodes
This commit is contained in:
@@ -39,5 +39,8 @@
|
|||||||
"name": "Sai Teja",
|
"name": "Sai Teja",
|
||||||
"email": "saitejas464@gmail.com"
|
"email": "saitejas464@gmail.com"
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"standard": {
|
||||||
|
"globals": [ "describe", "it" ]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
12
test/TestFiles/randomText.xml
Normal file
12
test/TestFiles/randomText.xml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<items>
|
||||||
|
<item id="1" test= 'hello'> item
|
||||||
|
one <subitem sub= "TESTING SUB">one</subitem>
|
||||||
|
<subitem sub= "2">two</subitem> two
|
||||||
|
</item>
|
||||||
|
<item id="2"> item
|
||||||
|
one<subitem>three</subitem> two
|
||||||
|
<subitem>four</subitem> three
|
||||||
|
four<subitem>five</subitem>
|
||||||
|
</item>
|
||||||
|
</items>
|
||||||
31
test/test.js
31
test/test.js
@@ -80,5 +80,36 @@ describe('Tests', function () {
|
|||||||
})
|
})
|
||||||
xmlStream.pipe(parser)
|
xmlStream.pipe(parser)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('should properly parse a xml simple file in which nodes contain text values randomly.', function (done) {
|
||||||
|
var xmlStream = fs.createReadStream('./test/TestFiles/randomText.xml')
|
||||||
|
var parser = new ParserFactory(xmlStream, {resourcePath: '/items/item'})
|
||||||
|
var expectedData = [ { '$': { 'id': '1', 'test': 'hello' }, '_': ' item one two',
|
||||||
|
'subitem': [ { '$': { 'sub': 'TESTING SUB' }, '_': 'one' },
|
||||||
|
{ '$': { 'sub': '2' }, '_': 'two' } ] },
|
||||||
|
{ '$': { 'id': '2' }, '_': ' item one two three four',
|
||||||
|
'subitem': [ { '_': 'three' }, { '_': 'four' }, { '_': 'five' } ] }
|
||||||
|
]
|
||||||
|
var actualData = []
|
||||||
|
var dataEventCount = 0
|
||||||
|
|
||||||
|
parser.on('data', function (data) {
|
||||||
|
actualData.push(data)
|
||||||
|
dataEventCount++
|
||||||
|
})
|
||||||
|
|
||||||
|
parser.on('error', function (err) {
|
||||||
|
done(err)
|
||||||
|
})
|
||||||
|
|
||||||
|
parser.on('end', function () {
|
||||||
|
// console.log('actualData=', JSON.stringify(actualData, null, 1))
|
||||||
|
// console.log('dataEventCount=', dataEventCount)
|
||||||
|
actualData.should.deepEqual(expectedData)
|
||||||
|
dataEventCount.should.equal(2)
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
xmlStream.pipe(parser)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user