mirror of
https://github.com/nodejs/node.git
synced 2025-05-01 08:42:45 +00:00

PR-URL: https://github.com/nodejs/node/pull/39928 Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
72 lines
1.9 KiB
JavaScript
72 lines
1.9 KiB
JavaScript
'use strict';
|
|
const common = require('../common');
|
|
const assert = require('assert');
|
|
|
|
const expected_keys = [
|
|
'ares',
|
|
'brotli',
|
|
'modules',
|
|
'node',
|
|
'uv',
|
|
'v8',
|
|
'zlib',
|
|
'nghttp2',
|
|
'napi',
|
|
'llhttp',
|
|
];
|
|
|
|
if (common.hasCrypto) {
|
|
expected_keys.push('openssl');
|
|
}
|
|
|
|
if (common.hasQuic) {
|
|
expected_keys.push('ngtcp2');
|
|
expected_keys.push('nghttp3');
|
|
}
|
|
|
|
if (common.hasIntl) {
|
|
expected_keys.push('icu');
|
|
expected_keys.push('cldr');
|
|
expected_keys.push('tz');
|
|
expected_keys.push('unicode');
|
|
}
|
|
|
|
expected_keys.sort();
|
|
const actual_keys = Object.keys(process.versions).sort();
|
|
|
|
assert.deepStrictEqual(actual_keys, expected_keys);
|
|
|
|
const commonTemplate = /^\d+\.\d+\.\d+(?:-.*)?$/;
|
|
|
|
assert.match(process.versions.ares, commonTemplate);
|
|
assert.match(process.versions.brotli, commonTemplate);
|
|
assert.match(process.versions.llhttp, commonTemplate);
|
|
assert.match(process.versions.node, commonTemplate);
|
|
assert.match(process.versions.uv, commonTemplate);
|
|
assert.match(process.versions.zlib, commonTemplate);
|
|
|
|
assert.match(
|
|
process.versions.v8,
|
|
/^\d+\.\d+\.\d+(?:\.\d+)?-node\.\d+(?: \(candidate\))?$/
|
|
);
|
|
assert.match(process.versions.modules, /^\d+$/);
|
|
|
|
if (common.hasCrypto) {
|
|
const versionRegex = common.hasOpenSSL3 ?
|
|
// The following also matches a development version of OpenSSL 3.x which
|
|
// can be in the format '3.0.0-alpha4-dev'. This can be handy when building
|
|
// and linking against the main development branch of OpenSSL.
|
|
/^\d+\.\d+\.\d+(?:[-+][a-z0-9]+)*$/ :
|
|
/^\d+\.\d+\.\d+[a-z]?(\+quic)?(-fips)?$/;
|
|
assert.match(process.versions.openssl, versionRegex);
|
|
}
|
|
|
|
for (let i = 0; i < expected_keys.length; i++) {
|
|
const key = expected_keys[i];
|
|
const descriptor = Object.getOwnPropertyDescriptor(process.versions, key);
|
|
assert.strictEqual(descriptor.writable, false);
|
|
}
|
|
|
|
assert.strictEqual(process.config.variables.napi_build_version,
|
|
process.versions.napi);
|