mirror of https://github.com/lukechilds/node.git
Browse Source
It also tests displayPrompt by checking for '> '. PR-URL: https://github.com/nodejs/node/pull/3908 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>v4.x
Bryan English
9 years ago
committed by
James M Snell
1 changed files with 43 additions and 0 deletions
@ -0,0 +1,43 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
require('../common'); |
||||
|
|
||||
|
const stream = require('stream'), |
||||
|
assert = require('assert'), |
||||
|
repl = require('repl'); |
||||
|
|
||||
|
var output = ''; |
||||
|
const inputStream = new stream.PassThrough(); |
||||
|
const outputStream = new stream.PassThrough(); |
||||
|
outputStream.on('data', function(d) { |
||||
|
output += d; |
||||
|
}); |
||||
|
|
||||
|
const r = repl.start({ |
||||
|
input: inputStream, |
||||
|
output: outputStream, |
||||
|
terminal: true |
||||
|
}); |
||||
|
|
||||
|
r.defineCommand('say1', { |
||||
|
help: 'help for say1', |
||||
|
action: function(thing) { |
||||
|
output = ''; |
||||
|
this.write('hello ' + thing); |
||||
|
this.displayPrompt(); |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
r.defineCommand('say2', function() { |
||||
|
output = ''; |
||||
|
this.write('hello from say2'); |
||||
|
this.displayPrompt(); |
||||
|
}); |
||||
|
|
||||
|
inputStream.write('.help\n'); |
||||
|
assert(/\nsay1\thelp for say1\n/.test(output), 'help for say1 not present'); |
||||
|
assert(/\nsay2\t\n/.test(output), 'help for say2 not present'); |
||||
|
inputStream.write('.say1 node developer\n'); |
||||
|
assert(/> hello node developer/.test(output), 'say1 outputted incorrectly'); |
||||
|
inputStream.write('.say2 node developer\n'); |
||||
|
assert(/> hello from say2/.test(output), 'say2 outputted incorrectly'); |
Loading…
Reference in new issue