nodejs/test/parallel/test-internal-validators-validateport.js
James M Snell b023d61716 lib: move isLegalPort to validators, refactor
isLegalPort was used multiple places in the same way -- to validate
the port and throw if necessary. Moved into internal/validators.

PR-URL: https://github.com/nodejs/node/pull/31851
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
2020-03-05 11:52:53 -08:00

24 lines
596 B
JavaScript

// Flags: --expose-internals
'use strict';
require('../common');
const assert = require('assert');
const { validatePort } = require('internal/validators');
for (let n = 0; n <= 0xFFFF; n++) {
validatePort(n);
validatePort(`${n}`);
validatePort(`0x${n.toString(16)}`);
validatePort(`0o${n.toString(8)}`);
validatePort(`0b${n.toString(2)}`);
}
[
-1, 'a', {}, [], false, true,
0xFFFF + 1, Infinity, -Infinity, NaN,
undefined, null, '', ' ', 1.1, '0x',
'-0x1', '-0o1', '-0b1', '0o', '0b'
].forEach((i) => assert.throws(() => validatePort(i), {
code: 'ERR_SOCKET_BAD_PORT'
}));