mirror of https://github.com/lukechilds/node.git
Browse Source
PR-URL: https://github.com/nodejs/node/pull/5250 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>process-exit-stdio-flushing
Kári Tristan Helgason
9 years ago
committed by
James M Snell
1 changed files with 28 additions and 0 deletions
@ -0,0 +1,28 @@ |
|||
/* eslint-disable strict */ |
|||
require('../common'); |
|||
var assert = require('assert'); |
|||
|
|||
/* |
|||
in node 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.
|
|||
*/ |
|||
|
|||
function test() { |
|||
|
|||
var code = [ |
|||
'var foo = {m: 1};', |
|||
'', |
|||
'function bar() {', |
|||
'\'use strict\';', |
|||
'return foo; // foo isn\'t captured in 0.10', |
|||
'};' |
|||
].join('\n'); |
|||
|
|||
eval(code); |
|||
|
|||
return bar(); |
|||
|
|||
} |
|||
|
|||
assert.deepEqual(test(), {m: 1}); |
Loading…
Reference in new issue