Browse Source

src: add process.versions.icu

If i18n support is present, add the icu version
to process.versions

Fixes: https://github.com/nodejs/node/issues/3089
PR-URL: https://github.com/nodejs/node/pull/3102
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Rod Vagg <rod@vagg.org>
v4.x
Evan Lucas 10 years ago
committed by James M Snell
parent
commit
7271cb047c
  1. 1
      doc/api/process.markdown
  2. 10
      src/node.cc
  3. 4
      test/parallel/test-process-versions.js

1
doc/api/process.markdown

@ -648,6 +648,7 @@ Will print something like:
zlib: '1.2.8',
ares: '1.10.0-DEV',
modules: '43',
icu: '55.1',
openssl: '1.0.1k' }
## process.config

10
src/node.cc

@ -52,6 +52,10 @@
#include <string.h>
#include <sys/types.h>
#if defined(NODE_HAVE_I18N_SUPPORT)
#include <unicode/uvernum.h>
#endif
#if defined(LEAK_SANITIZER)
#include <sanitizer/lsan_interface.h>
#endif
@ -2681,6 +2685,12 @@ void SetupProcessObject(Environment* env,
"ares",
FIXED_ONE_BYTE_STRING(env->isolate(), ARES_VERSION_STR));
#if defined(NODE_HAVE_I18N_SUPPORT) && defined(U_ICU_VERSION)
READONLY_PROPERTY(versions,
"icu",
OneByteString(env->isolate(), U_ICU_VERSION));
#endif
const char node_modules_version[] = NODE_STRINGIFY(NODE_MODULE_VERSION);
READONLY_PROPERTY(
versions,

4
test/parallel/test-process-versions.js

@ -9,4 +9,8 @@ if (common.hasCrypto) {
expected_keys.push('openssl');
}
if (typeof Intl !== 'undefined') {
expected_keys.push('icu');
}
assert.deepEqual(Object.keys(process.versions).sort(), expected_keys.sort());

Loading…
Cancel
Save