1'use strict'; 2 3const common = require('../common'); 4if (!common.hasCrypto) 5 common.skip('missing crypto'); 6 7const fixtures = require('../common/fixtures'); 8 9const assert = require('assert'); 10const { spawnSync } = require('child_process'); 11 12const dep = fixtures.path('policy', 'parent.js'); 13{ 14 const depPolicy = fixtures.path( 15 'policy', 16 'dependencies', 17 'dependencies-redirect-policy.json'); 18 const { status } = spawnSync( 19 process.execPath, 20 [ 21 '--experimental-policy', depPolicy, dep, 22 ] 23 ); 24 assert.strictEqual(status, 0); 25} 26{ 27 const depPolicy = fixtures.path( 28 'policy', 29 'dependencies', 30 'dependencies-redirect-builtin-policy.json'); 31 const { status } = spawnSync( 32 process.execPath, 33 [ 34 '--experimental-policy', depPolicy, dep, 35 ] 36 ); 37 assert.strictEqual(status, 0); 38} 39{ 40 const depPolicy = fixtures.path( 41 'policy', 42 'dependencies', 43 'dependencies-redirect-unknown-builtin-policy.json'); 44 const { status } = spawnSync( 45 process.execPath, 46 [ 47 '--experimental-policy', depPolicy, dep, 48 ] 49 ); 50 assert.strictEqual(status, 1); 51} 52{ 53 const depPolicy = fixtures.path( 54 'policy', 55 'dependencies', 56 'dependencies-wildcard-policy.json'); 57 const { status } = spawnSync( 58 process.execPath, 59 [ 60 '--experimental-policy', depPolicy, dep, 61 ] 62 ); 63 assert.strictEqual(status, 0); 64} 65{ 66 const depPolicy = fixtures.path( 67 'policy', 68 'dependencies', 69 'dependencies-empty-policy.json'); 70 const { status } = spawnSync( 71 process.execPath, 72 [ 73 '--experimental-policy', depPolicy, dep, 74 ] 75 ); 76 assert.strictEqual(status, 1); 77} 78{ 79 const depPolicy = fixtures.path( 80 'policy', 81 'dependencies', 82 'dependencies-missing-policy.json'); 83 const { status } = spawnSync( 84 process.execPath, 85 [ 86 '--experimental-policy', depPolicy, dep, 87 ] 88 ); 89 assert.strictEqual(status, 1); 90} 91