diff options
author | cjihrig <cjihrig@gmail.com> | 2015-11-23 14:58:18 -0500 |
---|---|---|
committer | cjihrig <cjihrig@gmail.com> | 2015-11-24 15:49:50 -0500 |
commit | 5169311bf9f3ca0a601f9af2e3e732e250dd984b (patch) | |
tree | 2b9c33bb5d70a0824da1175cafddedd0f64d39ca /test/parallel/test-util-internal.js | |
parent | 658842280dcbb91576fc0d568c49a9c9e3fb40c2 (diff) | |
download | android-node-v8-5169311bf9f3ca0a601f9af2e3e732e250dd984b.tar.gz android-node-v8-5169311bf9f3ca0a601f9af2e3e732e250dd984b.tar.bz2 android-node-v8-5169311bf9f3ca0a601f9af2e3e732e250dd984b.zip |
util,src: allow lookup of hidden values
This commit adds an internal util method that makes hidden
values in the C++ layer visible in JS.
PR-URL: https://github.com/nodejs/node/pull/3988
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'test/parallel/test-util-internal.js')
-rw-r--r-- | test/parallel/test-util-internal.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/test/parallel/test-util-internal.js b/test/parallel/test-util-internal.js new file mode 100644 index 0000000000..9ab883ec8b --- /dev/null +++ b/test/parallel/test-util-internal.js @@ -0,0 +1,32 @@ +'use strict'; +// Flags: --expose_internals + +const common = require('../common'); +const assert = require('assert'); +const internalUtil = require('internal/util'); + +function getHiddenValue(obj, name) { + return function() { + internalUtil.getHiddenValue(obj, name); + }; +} + +assert.throws(getHiddenValue(), /obj must be an object/); +assert.throws(getHiddenValue(null, 'foo'), /obj must be an object/); +assert.throws(getHiddenValue(undefined, 'foo'), /obj must be an object/); +assert.throws(getHiddenValue('bar', 'foo'), /obj must be an object/); +assert.throws(getHiddenValue(85, 'foo'), /obj must be an object/); +assert.throws(getHiddenValue({}), /name must be a string/); +assert.throws(getHiddenValue({}, null), /name must be a string/); +assert.throws(getHiddenValue({}, []), /name must be a string/); +assert.deepEqual(internalUtil.getHiddenValue({}, 'foo'), undefined); + +let arrowMessage; + +try { + require('../fixtures/syntax/bad_syntax'); +} catch (err) { + arrowMessage = internalUtil.getHiddenValue(err, 'arrowMessage'); +} + +assert(/bad_syntax\.js:1/.test(arrowMessage)); |