mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
847 B
29 lines
847 B
'use strict';
|
|
// Flags: --expose-gc
|
|
require('../common');
|
|
const assert = require('assert');
|
|
|
|
const vm = require('vm');
|
|
|
|
// Run in a new empty context
|
|
let context = vm.createContext();
|
|
let result = vm.runInContext('"passed";', context);
|
|
assert.strictEqual('passed', result);
|
|
|
|
// Create a new pre-populated context
|
|
context = vm.createContext({ 'foo': 'bar', 'thing': 'lala' });
|
|
assert.strictEqual('bar', context.foo);
|
|
assert.strictEqual('lala', context.thing);
|
|
|
|
// Test updating context
|
|
result = vm.runInContext('var foo = 3;', context);
|
|
assert.strictEqual(3, context.foo);
|
|
assert.strictEqual('lala', context.thing);
|
|
|
|
// https://github.com/nodejs/node/issues/5768
|
|
// Run in contextified sandbox without referencing the context
|
|
const sandbox = { x: 1 };
|
|
vm.createContext(sandbox);
|
|
global.gc();
|
|
vm.runInContext('x = 2', sandbox);
|
|
// Should not crash.
|
|
|