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