Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/promzard/test/fn.js')
-rw-r--r--node_modules/promzard/test/fn.js56
1 files changed, 56 insertions, 0 deletions
diff --git a/node_modules/promzard/test/fn.js b/node_modules/promzard/test/fn.js
new file mode 100644
index 000000000..899ebedbd
--- /dev/null
+++ b/node_modules/promzard/test/fn.js
@@ -0,0 +1,56 @@
+var test = require('tap').test;
+var promzard = require('../');
+var fs = require('fs')
+var file = __dirname + '/fn.input';
+
+var expect = {
+ a : 3,
+ b : '!2B...',
+ c : {
+ x : 5500,
+ y : '/tmp/y/file.txt',
+ }
+}
+expect.a_function = fs.readFileSync(file, 'utf8')
+expect.asyncPrompt = 'async prompt'
+
+if (process.argv[2] === 'child') {
+ return child()
+}
+
+test('prompt callback param', function (t) {
+ t.plan(1);
+
+ var spawn = require('child_process').spawn
+ var child = spawn(process.execPath, [__filename, 'child'])
+
+ var output = ''
+ child.stderr.on('data', function (c) {
+ output += c
+ })
+
+ child.on('close', function () {
+ console.error('output=%j', output)
+ output = JSON.parse(output)
+ t.same(output, expect);
+ t.end()
+ })
+
+ setTimeout(function () {
+ child.stdin.write('\n')
+ }, 100)
+ setTimeout(function () {
+ child.stdin.write('55\n')
+ }, 150)
+ setTimeout(function () {
+ child.stdin.end('async prompt\n')
+ }, 200)
+})
+
+function child () {
+ var ctx = { tmpdir : '/tmp' }
+ var file = __dirname + '/fn.input';
+ promzard(file, ctx, function (err, output) {
+ console.error(JSON.stringify(output))
+ })
+}