mirror of https://github.com/lukechilds/node.git
Browse Source
```js node 🙈 ₹ git:(upstream ⚡ repl-tmp-548) ./node > function name() { return "node"; }; undefined > name() 'node' > function name() { return "nodejs"; }; undefined > name() 'nodejs' > ``` PR-URL: https://github.com/nodejs/node/pull/7794 Reviewed-By: Evan Lucas <evanlucas@me.com>v6.x
committed by
Evan Lucas
3 changed files with 64 additions and 13 deletions
@ -0,0 +1,38 @@ |
|||
// Reference: https://github.com/nodejs/node/pull/7624
|
|||
'use strict'; |
|||
const common = require('../common'); |
|||
const assert = require('assert'); |
|||
const repl = require('repl'); |
|||
const stream = require('stream'); |
|||
|
|||
common.globalCheck = false; |
|||
|
|||
const r = initRepl(); |
|||
|
|||
r.input.emit('data', 'function a() { return 42; } (1)\n'); |
|||
r.input.emit('data', 'a\n'); |
|||
r.input.emit('data', '.exit'); |
|||
|
|||
const expected = '1\n[Function a]\n'; |
|||
const got = r.output.accumulator.join(''); |
|||
assert.strictEqual(got, expected); |
|||
|
|||
function initRepl() { |
|||
const input = new stream(); |
|||
input.write = input.pause = input.resume = () => {}; |
|||
input.readable = true; |
|||
|
|||
const output = new stream(); |
|||
output.writable = true; |
|||
output.accumulator = []; |
|||
|
|||
output.write = (data) => output.accumulator.push(data); |
|||
|
|||
return repl.start({ |
|||
input, |
|||
output, |
|||
useColors: false, |
|||
terminal: false, |
|||
prompt: '' |
|||
}); |
|||
} |
Loading…
Reference in new issue