/* eslint-disable strict */ require('../common'); // In Node.js 0.10, a bug existed that caused strict functions to not capture // their environment when evaluated. When run in 0.10 `test()` fails with a // `ReferenceError`. See https://github.com/nodejs/node/issues/2245 for details. const assert = require('assert'); function test() { const code = [ 'var foo = {m: 1};', '', 'function bar() {', '\'use strict\';', 'return foo; // foo isn\'t captured in 0.10', '};' ].join('\n'); eval(code); return bar(); // eslint-disable-line no-undef } assert.deepStrictEqual(test(), { m: 1 });