--- /dev/null
+var test = require('tap').test;
+var promzard = require('../');
+
+if (process.argv[2] === 'child') {
+ return child()
+}
+
+test('exports', 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
+ })
+
+ setTimeout(function () {
+ child.stdin.write('\n');
+ }, 100)
+ setTimeout(function () {
+ child.stdin.end('55\n');
+ }, 200)
+
+ child.on('close', function () {
+ console.error('output=%j', output)
+ output = JSON.parse(output)
+ t.same({
+ a : 3,
+ b : '!2b',
+ c : {
+ x : 55,
+ y : '/tmp/y/file.txt',
+ }
+ }, output);
+ t.end()
+ })
+});
+
+function child () {
+ var ctx = { tmpdir : '/tmp' }
+ var file = __dirname + '/exports.input';
+
+ promzard(file, ctx, function (err, output) {
+ console.error(JSON.stringify(output))
+ });
+}