'use strict'; const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); common.requireNoPackageJSONAbove(); const fixtures = require('../common/fixtures'); const assert = require('assert'); const { spawnSync } = require('child_process'); const encodings = ['buffer', 'utf8', 'utf16le', 'latin1', 'base64', 'hex']; for (const encoding of encodings) { const dep = fixtures.path('policy', 'crypto-default-encoding', 'parent.js'); const depPolicy = fixtures.path( 'policy', 'crypto-default-encoding', 'policy.json'); const { status } = spawnSync( process.execPath, [ '--experimental-policy', depPolicy, dep, ], { env: { ...process.env, DEFAULT_ENCODING: encoding } } ); assert.strictEqual(status, 0); }