summaryrefslogtreecommitdiff
path: root/test/parallel/test-vm-preserves-property.js
blob: 0846fd4f79817028716d9cb6cd54edbd28225ac8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
'use strict';

require('../common');
const assert = require('assert');

const vm = require('vm');

const x = {};
Object.defineProperty(x, 'prop', {
  configurable: false,
  enumerable: false,
  writable: false,
  value: 'val'
});
const o = vm.createContext(x);

const code = 'Object.getOwnPropertyDescriptor(this, "prop")';
const res = vm.runInContext(code, o, 'test');

assert(res);
assert.strictEqual(typeof res, 'object');
assert.strictEqual(res.value, 'val');
assert.strictEqual(res.configurable, false);
assert.strictEqual(res.enumerable, false);
assert.strictEqual(res.writable, false);