Skip to content

Commit

Permalink
feat(open): Throw on incorrect baudrate option (#1347)
Browse files Browse the repository at this point in the history
This was causing a lot of issues, lets make it easier on people.
  • Loading branch information
reconbot authored Sep 24, 2017
1 parent c590021 commit a3b8d35
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 1 deletion.
2 changes: 1 addition & 1 deletion examples/socketio/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ const serialport = require('serialport');
const SerialPort = serialport.SerialPort;

const serial = new SerialPort('/dev/cu.usbmodem1411', {
baudrate: 9600,
baudRate: 9600,
parser: SerialPort.parsers.byteLength(1)
});

Expand Down
4 changes: 4 additions & 0 deletions lib/serialport.js
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,10 @@ function SerialPort(path, options, callback) {
throw new TypeError(`"path" is not defined: ${path}`);
}

if (settings.baudrate) {
throw new TypeError(`"baudrate" is an unknown option, did you mean "baudRate"?`);
}

if (typeof settings.baudRate !== 'number') {
throw new TypeError(`"baudRate" must be a number: ${settings.baudRate}`);
}
Expand Down
6 changes: 6 additions & 0 deletions test/serialport.js
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,12 @@ describe('SerialPort', () => {
}
});

it('throws an error when given bad baudrate even with a callback', function() {
assert.throws(() => {
this.port = new SerialPort('/dev/exists', { baudrate: 9600 }, () => {});
});
});

it('errors with a non number baudRate', function(done) {
try {
this.port = new SerialPort('/bad/port', { baudRate: 'whatever' });
Expand Down

0 comments on commit a3b8d35

Please sign in to comment.