diff --git a/package.json b/package.json index d0451e2..2f4e601 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "node": ">=0.12.0" }, "scripts": { - "test": "xo && ava test.js && echo unicorns | node test-real.js" + "test": "xo && ava test.js test-buffer.js && echo unicorns | node test-real.js" }, "files": [ "index.js" @@ -29,7 +29,7 @@ "read" ], "devDependencies": { - "ava": "^0.2.0", + "ava": "*", "buffer-equals": "^1.0.3", "xo": "*" } diff --git a/test-buffer.js b/test-buffer.js new file mode 100644 index 0000000..0ed3f6d --- /dev/null +++ b/test-buffer.js @@ -0,0 +1,21 @@ +import test from 'ava'; +import bufferEquals from 'buffer-equals'; +import fn from './'; + +test.serial('get stdin', async t => { + t.plan(2); + process.stdin.isTTY = false; + + const promise = fn.buffer(); + process.stdin.push(new Buffer('uni')); + process.stdin.push(new Buffer('corns')); + process.stdin.emit('end'); + const data = await promise; + t.true(bufferEquals(data, new Buffer('unicorns'))); + t.is(data.toString(), 'unicorns'); +}); + +test.serial('get empty buffer when no stdin', async t => { + process.stdin.isTTY = true; + t.true(bufferEquals(await fn.buffer(), new Buffer(''))); +}); diff --git a/test.js b/test.js index 50b2557..e0ba8ad 100644 --- a/test.js +++ b/test.js @@ -1,39 +1,17 @@ import test from 'ava'; -import bufferEquals from 'buffer-equals'; import fn from './'; test.serial('get stdin', async t => { + t.plan(1); process.stdin.isTTY = false; - - setImmediate(() => { - process.stdin.push('unicorns'); - process.stdin.emit('end'); - }); - - t.is((await fn()).trim(), 'unicorns'); + const promise = fn(); + process.stdin.push('uni'); + process.stdin.push('corns'); + process.stdin.emit('end'); + t.is((await promise).trim(), 'unicorns'); }); test.serial('get empty string when no stdin', async t => { process.stdin.isTTY = true; t.is(await fn(), ''); }); - -test.serial('get stdin as a buffer', t => { - process.stdin.isTTY = false; - - const promise = fn.buffer(data => { - t.true(bufferEquals(data, new Buffer('unicorns'))); - t.is(data.toString().trim(), 'unicorns'); - }); - - process.stdin.push(new Buffer('unicorns')); - process.stdin.emit('end'); - - return promise; -}); - -test.serial('get empty buffer when no stdin', async t => { - process.stdin.isTTY = true; - - t.true(bufferEquals(await fn.buffer(), new Buffer(''))); -});