1// Flags: --expose-internals
2'use strict';
3
4require('../common');
5const assert = require('assert');
6const { validatePort } = require('internal/validators');
7
8for (let n = 0; n <= 0xFFFF; n++) {
9  validatePort(n);
10  validatePort(`${n}`);
11  validatePort(`0x${n.toString(16)}`);
12  validatePort(`0o${n.toString(8)}`);
13  validatePort(`0b${n.toString(2)}`);
14}
15
16[
17  -1, 'a', {}, [], false, true,
18  0xFFFF + 1, Infinity, -Infinity, NaN,
19  undefined, null, '', ' ', 1.1, '0x',
20  '-0x1', '-0o1', '-0b1', '0o', '0b',
21].forEach((i) => assert.throws(() => validatePort(i), {
22  code: 'ERR_SOCKET_BAD_PORT'
23}));
24