summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorNathan Rajlich <nathan@tootallnate.net>2012-03-27 17:49:10 -0700
committerNathan Rajlich <nathan@tootallnate.net>2012-03-27 17:49:10 -0700
commita33d1c959a449115883b42753f5140541561ba2b (patch)
tree97e886f099098ed659e86326601e1d6c8438ff1b /test
parentb187e96ec91b1aaf1ed4d7eed870cc5ba2e3259e (diff)
downloadnode-a33d1c959a449115883b42753f5140541561ba2b.tar.gz
repl: add test case verifying the repl options usage
Diffstat (limited to 'test')
-rw-r--r--test/simple/test-repl-options.js66
1 files changed, 66 insertions, 0 deletions
diff --git a/test/simple/test-repl-options.js b/test/simple/test-repl-options.js
new file mode 100644
index 000000000..17d7646ac
--- /dev/null
+++ b/test/simple/test-repl-options.js
@@ -0,0 +1,66 @@
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to permit
+// persons to whom the Software is furnished to do so, subject to the
+// following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+var common = require('../common'),
+ assert = require('assert'),
+ Stream = require('stream'),
+ repl = require('repl');
+
+// create a dummy stream that does nothing
+var stream = new Stream();
+stream.write = stream.pause = stream.resume = function(){};
+stream.readable = stream.writable = true;
+
+// 1, mostly defaults
+var r1 = repl.start({
+ input: stream,
+ output: stream,
+ terminal: true
+});
+assert.equal(r1.rli.input, stream);
+assert.equal(r1.rli.output, stream);
+assert.equal(r1.rli.input, r1.inputStream);
+assert.equal(r1.rli.output, r1.outputStream);
+assert.equal(r1.rli.terminal, true);
+assert.equal(r1.useGlobal, false);
+assert.equal(r1.ignoreUndefined, false);
+
+// 2
+function writer() {}
+function evaler() {}
+var r2 = repl.start({
+ input: stream,
+ output: stream,
+ terminal: false,
+ useGlobal: true,
+ ignoreUndefined: true,
+ eval: evaler,
+ writer: writer
+});
+assert.equal(r2.rli.input, stream);
+assert.equal(r2.rli.output, stream);
+assert.equal(r2.rli.input, r2.inputStream);
+assert.equal(r2.rli.output, r2.outputStream);
+assert.equal(r2.rli.terminal, false);
+assert.equal(r2.useGlobal, true);
+assert.equal(r2.ignoreUndefined, true);
+assert.equal(r2.eval, evaler);
+assert.equal(r2.writer, writer);