proxyquire.noCallThru().load('../lib/connection', { serialport: { list: function() { return Promise.resolve( [ { comName: '/dev/cu.sierravsp', manufacturer: '', serialNumber: '', pnpId: '', locationId: '', vendorId: '', productId: '' }, { comName: '/dev/cu.Bluetooth-Incoming-Port', manufacturer: '', serialNumber: '', pnpId: '', locationId: '', vendorId: '', productId: '' }, { comName: '/dev/cu.usbmodem1421', manufacturer: 'Arduino (www.arduino.cc)', serialNumber: '55432333038351F03170', pnpId: '', locationId: '0x14200000', vendorId: '0x2341', productId: '0x0043' } ]) } }, SerialPort: require('./helpers/mockSerial').SerialPort })
test('[ Connection ] ::_listPorts (WINDOWS)', function(t) { t.plan(3); var ConnectionTest = proxyquire.noCallThru().load('../lib/connection', { serialport: { list: function(callback) { return Promise.resolve( [ { comName: 'COM3', manufacturer: 'Microsoft', serialNumber: '', pnpId: 'USB\\\\VID_2341&PID_0043\\\\55432333038351F03170', locationId: '', vendorId: '', productId: '' } ]); }, SerialPort: mockSerial.SerialPort } }); // nodejs 0.10.x race condition needs this setTimeout(function() { var c = new ConnectionTest(DEF_OPTS1); c._listPorts(function(error, ports) { t.ok(ports.length, 'got a list of ports'); t.ok(ports[0]._standardPid, 'added _standardPid property'); t.error(error, 'no error on listing'); }); }, 200); });
}; var ConnectionTest = proxyquire.noCallThru() .load('../lib/connection', { serialport: mockSerial.SerialPort });
test('[ Connection ] ::_sniffPort (UNIX)', function(t) { t.plan(3); var ConnectionTest = proxyquire.noCallThru().load('../lib/connection', { serialport: { list: function(callback) { return Promise.resolve( [ { comName: '/dev/cu.sierravsp', manufacturer: '', serialNumber: '', pnpId: '', locationId: '', vendorId: '', productId: '' }, { comName: '/dev/cu.Bluetooth-Incoming-Port', manufacturer: '', serialNumber: '', pnpId: '', locationId: '', vendorId: '', productId: '' }, { comName: '/dev/cu.usbmodem1421', manufacturer: 'Arduino (www.arduino.cc)', serialNumber: '55432333038351F03170', pnpId: '', locationId: '0x14200000', vendorId: '0x2341', productId: '0x0043' } ]); }, SerialPort: mockSerial.SerialPort } }); // nodejs 0.10.x race condition needs this setTimeout(function() { var c = new ConnectionTest(DEF_OPTS1); c._sniffPort(function(error, match) { t.ok(match.length, 'board was detected'); t.equal(match[0].comName, '/dev/cu.usbmodem1421', 'correct comName to match against'); t.error(error, 'no error on return'); }); }, 200); });
test('[ Connection ] ::_listPorts (UNIX)', function(t) { t.plan(3); var ConnectionTest = proxyquire.noCallThru().load('../lib/connection', { serialport: { list: function() { return Promise.resolve( [ { comName: '/dev/cu.sierravsp', manufacturer: '', serialNumber: '', pnpId: '', locationId: '', vendorId: '', productId: '' }, { comName: '/dev/cu.Bluetooth-Incoming-Port', manufacturer: '', serialNumber: '', pnpId: '', locationId: '', vendorId: '', productId: '' }, { comName: '/dev/cu.usbmodem1421', manufacturer: 'Arduino (www.arduino.cc)', serialNumber: '55432333038351F03170', pnpId: '', locationId: '0x14200000', vendorId: '0x2341', productId: '0x0043' } ]); }, SerialPort: mockSerial.SerialPort } }); // nodejs 0.10.x race condition needs this setTimeout(function() { var c = new ConnectionTest(DEF_OPTS1); c._listPorts(function(error, ports) { t.ok(ports.length, 'got a list of ports'); t.ok(ports[2]._standardPid, 'added _standardPid property'); t.error(error, 'no error on listing'); }); }, 200); });
test('[ Connection ] ::_sniffPort (WINDOWS)', function(t) { t.plan(3); var ConnectionTest = proxyquire.noCallThru().load('../lib/connection', { serialport: { list: function(callback) { return Promise.resolve( [ { comName: 'COM3', manufacturer: 'Microsoft', serialNumber: '', pnpId: 'USB\\\\VID_2341&PID_0043\\\\55432333038351F03170', locationId: '', vendorId: '', productId: '' } ]); }, SerialPort: mockSerial.SerialPort } }); // nodejs 0.10.x race condition needs this setTimeout(function() { var c = new ConnectionTest(DEF_OPTS1); c._sniffPort(function(error, match) { t.ok(match.length, 'board was detected'); t.equal(match[0].comName, 'COM3', 'correct comName to match against'); t.error(error, 'no error on return'); }); }, 200); });