diff options
Diffstat (limited to 'test/parallel/test-util-internal.js')
-rw-r--r-- | test/parallel/test-util-internal.js | 38 |
1 files changed, 24 insertions, 14 deletions
diff --git a/test/parallel/test-util-internal.js b/test/parallel/test-util-internal.js index 2110b17851..0a6621e3ec 100644 --- a/test/parallel/test-util-internal.js +++ b/test/parallel/test-util-internal.js @@ -6,15 +6,18 @@ const assert = require('assert'); const internalUtil = require('internal/util'); const spawnSync = require('child_process').spawnSync; -function getHiddenValue(obj, name) { +const binding = process.binding('util'); +const kArrowMessagePrivateSymbolIndex = binding['arrow_message_private_symbol']; + +function getHiddenValue(obj, index) { return function() { - internalUtil.getHiddenValue(obj, name); + internalUtil.getHiddenValue(obj, index); }; } -function setHiddenValue(obj, name, val) { +function setHiddenValue(obj, index, val) { return function() { - internalUtil.setHiddenValue(obj, name, val); + internalUtil.setHiddenValue(obj, index, val); }; } @@ -23,29 +26,36 @@ 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.deepStrictEqual(internalUtil.getHiddenValue({}, 'foo'), undefined); +assert.throws(getHiddenValue({}), /index must be an uint32/); +assert.throws(getHiddenValue({}, null), /index must be an uint32/); +assert.throws(getHiddenValue({}, []), /index must be an uint32/); +assert.deepStrictEqual( + internalUtil.getHiddenValue({}, kArrowMessagePrivateSymbolIndex), + undefined); assert.throws(setHiddenValue(), /obj must be an object/); assert.throws(setHiddenValue(null, 'foo'), /obj must be an object/); assert.throws(setHiddenValue(undefined, 'foo'), /obj must be an object/); assert.throws(setHiddenValue('bar', 'foo'), /obj must be an object/); assert.throws(setHiddenValue(85, 'foo'), /obj must be an object/); -assert.throws(setHiddenValue({}), /name must be a string/); -assert.throws(setHiddenValue({}, null), /name must be a string/); -assert.throws(setHiddenValue({}, []), /name must be a string/); +assert.throws(setHiddenValue({}), /index must be an uint32/); +assert.throws(setHiddenValue({}, null), /index must be an uint32/); +assert.throws(setHiddenValue({}, []), /index must be an uint32/); const obj = {}; -assert.strictEqual(internalUtil.setHiddenValue(obj, 'foo', 'bar'), true); -assert.strictEqual(internalUtil.getHiddenValue(obj, 'foo'), 'bar'); +assert.strictEqual( + internalUtil.setHiddenValue(obj, kArrowMessagePrivateSymbolIndex, 'bar'), + true); +assert.strictEqual( + internalUtil.getHiddenValue(obj, kArrowMessagePrivateSymbolIndex), + 'bar'); let arrowMessage; try { require('../fixtures/syntax/bad_syntax'); } catch (err) { - arrowMessage = internalUtil.getHiddenValue(err, 'node:arrowMessage'); + arrowMessage = + internalUtil.getHiddenValue(err, kArrowMessagePrivateSymbolIndex); } assert(/bad_syntax\.js:1/.test(arrowMessage)); |