@signalk/nmea0183-signalk
Version:
A node.js/javascript parser for NMEA0183 sentences. Sentences are parsed to Signal K format.
40 lines (31 loc) • 1.11 kB
JavaScript
const Parser = require('../lib')
const chai = require('chai')
const should = chai.Should()
chai.use(require('chai-things'))
const sentences = [
'!AIVDM,2,1,0,A,53brRt4000010SG700iE@LE8@Tp4000000000153P615t0Ht0SCkjH4jC1C,0*25\n',
'!AIVDM,2,2,0,A,`0000000001,2*75\n',
]
// FIXME: This is testing VDM - not VDO
describe('VDO', function () {
it('Multiline converts ok', () => {
const parser = new Parser()
let delta = parser.parse(sentences[0])
should.equal(delta, null)
delta = parser.parse(sentences[1])
delta.context.should.equal('vessels.urn:mrn:imo:mmsi:246326000')
delta.updates[0].values[0].value.mmsi.should.equal('246326000')
delta.updates[0].values[1].value.name.should.equal('UTGERDINA')
})
it('Single line converts ok', () => {
const delta = new Parser().parse(
'!AIVDM,1,1,,A,13aEOK?P00PD2wVMdLDRhgvL289?,0*26\n'
)
delta.context.should.equal('vessels.urn:mrn:imo:mmsi:244670316')
})
it("Doesn't choke on empty sentences", () => {
const delta = new Parser().parse('!AIVDM,,,,,,*57')
should.equal(delta, null)
})
})