Skip to content

Commit

Permalink
src: add process.versions.icu
Browse files Browse the repository at this point in the history
If i18n support is present, add the icu version
to process.versions

Fixes: #3089
PR-URL: #3102
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Rod Vagg <rod@vagg.org>
  • Loading branch information
evanlucas authored and jasnell committed Oct 8, 2015
1 parent f638402 commit 7271cb0
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 0 deletions.
1 change: 1 addition & 0 deletions doc/api/process.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
10 changes: 10 additions & 0 deletions src/node.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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,
Expand Down
4 changes: 4 additions & 0 deletions test/parallel/test-process-versions.js
Original file line number Diff line number Diff line change
Expand Up @@ -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());

0 comments on commit 7271cb0

Please sign in to comment.