UNPKG

@jbroll/nmea-simple

Version:

NMEA 0183 sentence parser and encoder

35 lines (24 loc) 1.13 kB
import "should"; import { assertPacketIs, getUnsafePacketId, parseUnsafeNmeaSentence } from "../index"; describe("UnsafeParsing", (): void => { it("Built in NMEA sentence", (): void => { const packet = parseUnsafeNmeaSentence("$GPZDA,160012.71,11,03,2004,-1,00*7D"); assertPacketIs("ZDA", packet); packet.localZoneHours.should.equal(-1); }); it("Unknown sentence", (): void => { const packet = parseUnsafeNmeaSentence("$GPTXT,01,01,02,ANTSTATUS=OPEN*2B"); assertPacketIs("?", packet); packet.dataFields.length.should.equal(4); (packet.talkerId === "GP").should.equal(true); getUnsafePacketId(packet).should.equal("TXT"); }); const BAD_CHECKSUM_SENTENCE = "$IIHDM,201.5,M*21"; const GOOD_CHECKSUM_SENTENCE = "$IIDBT,036.41,f,011.10,M,005.99,F*25"; it("checksum", (): void => { let packet = parseUnsafeNmeaSentence(BAD_CHECKSUM_SENTENCE); (packet.chxOk !== true).should.equal(true); packet = parseUnsafeNmeaSentence(GOOD_CHECKSUM_SENTENCE); (packet.chxOk === true).should.equal(true); }); });