mirror of
https://github.com/nodejs/node.git
synced 2026-11-09 15:11:11 -05:00
* Remove needless RegExp flag In fixed case, `/g` flag is needless in the boolean context. * Remove needless RegExp capturing Use non-capturing grouping or remove capturing completely when: * capturing is useless per se, e.g. in test() check; * captured groups are not used afterward at all; * some of the later captured groups are not used afterward. * Use test, not match/exec in boolean context match() and exec() return a complicated object, unneeded in a boolean context. * Do not needlessly repeat RegExp creation This commit takes RegExp creation out of cycles and other repetitions. As long as the RegExp does not use /g flag and match indices, we are safe here. In tests, this fix hardly gives a significant performance gain, but it increases clarity and maintainability, reassuring some RegExps to be identical. RegExp in functions are not taken out of their functions: while these functions are called many times and their RegExps are recreated with each call, the performance gain in test cases does not seem to be worth decreasing function self-dependency. PR-URL: https://github.com/nodejs/node/pull/13770 Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
42 lines
847 B
JavaScript
42 lines
847 B
JavaScript
'use strict';
|
|
const common = require('../common');
|
|
const assert = require('assert');
|
|
const dgram = require('dgram');
|
|
const invalidTypes = [
|
|
'test',
|
|
['udp4'],
|
|
new String('udp4'),
|
|
1,
|
|
{},
|
|
true,
|
|
false,
|
|
null,
|
|
undefined
|
|
];
|
|
const validTypes = [
|
|
'udp4',
|
|
'udp6',
|
|
{ type: 'udp4' },
|
|
{ type: 'udp6' }
|
|
];
|
|
const errMessage = /^Bad socket type specified\. Valid types are: udp4, udp6$/;
|
|
|
|
// Error must be thrown with invalid types
|
|
invalidTypes.forEach((invalidType) => {
|
|
assert.throws(() => {
|
|
dgram.createSocket(invalidType);
|
|
}, common.expectsError({
|
|
code: 'ERR_SOCKET_BAD_TYPE',
|
|
type: Error,
|
|
message: errMessage
|
|
}));
|
|
});
|
|
|
|
// Error must not be thrown with valid types
|
|
validTypes.forEach((validType) => {
|
|
assert.doesNotThrow(() => {
|
|
const socket = dgram.createSocket(validType);
|
|
socket.close();
|
|
});
|
|
});
|