summaryrefslogtreecommitdiff
path: root/test/parallel/test-process-env-symbols.js
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2016-11-16 02:27:14 +0100
committerAnna Henningsen <anna@addaleax.net>2016-11-20 01:40:33 +0100
commit3295a7febad0502dd79ad9fdae4c0975d1fb271c (patch)
tree9540bcbabb671a58613ecc30b4c7f5cb00c9e1b6 /test/parallel/test-process-env-symbols.js
parent6b86ecc007db251047c4a19990eca86af1e4c954 (diff)
downloadandroid-node-v8-3295a7febad0502dd79ad9fdae4c0975d1fb271c.tar.gz
android-node-v8-3295a7febad0502dd79ad9fdae4c0975d1fb271c.tar.bz2
android-node-v8-3295a7febad0502dd79ad9fdae4c0975d1fb271c.zip
src: allow getting Symbols on process.env
1aa595e5bd6 introduced a `throw` for accessing `Symbol` properties of `process.env`. However, this breaks `util.inspect(process)` and things like `Object.prototype.toString.call(process.env)`, so this patch changes the behaviour for the getter to just always return `undefined`. Ref: https://github.com/nodejs/node/pull/9446 Fixes: https://github.com/nodejs/node/issues/9641 PR-URL: https://github.com/nodejs/node/pull/9631 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'test/parallel/test-process-env-symbols.js')
-rw-r--r--test/parallel/test-process-env-symbols.js9
1 files changed, 5 insertions, 4 deletions
diff --git a/test/parallel/test-process-env-symbols.js b/test/parallel/test-process-env-symbols.js
index bb6e1f8778..a8798fc457 100644
--- a/test/parallel/test-process-env-symbols.js
+++ b/test/parallel/test-process-env-symbols.js
@@ -5,10 +5,8 @@ const assert = require('assert');
const symbol = Symbol('sym');
const errRegExp = /^TypeError: Cannot convert a Symbol value to a string$/;
-// Verify that getting via a symbol key throws.
-assert.throws(() => {
- process.env[symbol];
-}, errRegExp);
+// Verify that getting via a symbol key returns undefined.
+assert.strictEqual(process.env[symbol], undefined);
// Verify that assigning via a symbol key throws.
assert.throws(() => {
@@ -24,3 +22,6 @@ assert.throws(() => {
assert.throws(() => {
symbol in process.env;
}, errRegExp);
+
+// Checks that well-known symbols like `Symbol.toStringTag` won’t throw.
+assert.doesNotThrow(() => Object.prototype.toString.call(process.env));