diff --git a/lib/detect-port.js b/lib/detect-port.js index 3859484..9d3cbf9 100644 --- a/lib/detect-port.js +++ b/lib/detect-port.js @@ -23,10 +23,10 @@ module.exports = function() { reject('wrong number of arguments'); } - const port = args[0]; + const port = parseInt(args[0], 10); - if (typeof port !== 'number') { - reject(`wrong type of arguments with: ${port}`); + if (isNaN(port)) { + reject(`wrong type of arguments with: '${args[0]}'`); } const loop = port => { diff --git a/package.json b/package.json index d0b03fb..889c7a6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "detect-port", - "version": "1.0.4", + "version": "1.0.5", "description": "detect available port", "keywords": [ "detect", diff --git a/test/detect-port.test.js b/test/detect-port.test.js index 391e611..1f263e5 100644 --- a/test/detect-port.test.js +++ b/test/detect-port.test.js @@ -28,11 +28,20 @@ describe('detect port test', () => { }); }); - it('callback with wrong arguments', done => { - detectPort('8080', err => { + it('callback with string arg', done => { + const _port = '8080'; + detectPort(_port, (err, port) => { if (err) { - err.should.containEql('wrong type of arguments'); + console.log(err); } + port.should.within(parseInt(_port, 10), 65535); + done(); + }); + }); + + it('callback with wrong arguments', done => { + detectPort('oooo', err => { + err.should.containEql('wrong type of arguments'); done(); }); }); @@ -73,7 +82,7 @@ describe('detect port test', () => { it('generator with wrong arguments', function *() { try { - yield detectPort('8080'); + yield detectPort('oooo'); } catch (err) { err.should.containEql('wrong type of arguments'); }