Browse Source

fix tests

master
Sindre Sorhus 9 years ago
parent
commit
e89bea443c
  1. 4
      package.json
  2. 21
      test-buffer.js
  3. 34
      test.js

4
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": "*"
}

21
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('')));
});

34
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('')));
});

Loading…
Cancel
Save