diff --git a/lib/constants.js b/lib/constants.js index deebf90513da46..fec7e13d94145a 100644 --- a/lib/constants.js +++ b/lib/constants.js @@ -5,7 +5,7 @@ // are most relevant. const constants = process.binding('constants'); Object.assign(exports, - constants.os.errors, + constants.os.errno, constants.os.signals, constants.fs, constants.crypto); diff --git a/test/parallel/test-constants.js b/test/parallel/test-constants.js index ea0b93ba7fab6a..c11935783f861d 100644 --- a/test/parallel/test-constants.js +++ b/test/parallel/test-constants.js @@ -1,12 +1,26 @@ 'use strict'; require('../common'); -const constants = process.binding('constants'); +const binding = process.binding('constants'); +const constants = require('constants'); const assert = require('assert'); -assert.ok(constants); -assert.ok(constants.os); -assert.ok(constants.os.signals); -assert.ok(constants.os.errno); -assert.ok(constants.fs); -assert.ok(constants.crypto); +assert.ok(binding); +assert.ok(binding.os); +assert.ok(binding.os.signals); +assert.ok(binding.os.errno); +assert.ok(binding.fs); +assert.ok(binding.crypto); + +['os', 'fs', 'crypto'].forEach((l) => { + Object.keys(binding[l]).forEach((k) => { + if (typeof binding[l][k] === 'object') { // errno and signals + Object.keys(binding[l][k]).forEach((j) => { + assert.strictEqual(binding[l][k][j], constants[j]); + }); + } + if (l !== 'os') { // top level os constant isn't currently copied + assert.strictEqual(binding[l][k], constants[k]); + } + }); +});