mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 16:10:02 +01:00
f29762f4dd
Enable linting for the test directory. A number of changes was made so all tests conform the current rules used by lib and src directories. The only exception for tests is that unreachable (dead) code is allowed. test-fs-non-number-arguments-throw had to be excluded from the changes because of a weird issue on Windows CI. PR-URL: https://github.com/nodejs/io.js/pull/1721 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
107 lines
2.3 KiB
JavaScript
107 lines
2.3 KiB
JavaScript
'use strict';
|
|
var common = require('../common');
|
|
var assert = require('assert');
|
|
|
|
var Readable = require('stream').Readable;
|
|
|
|
(function first() {
|
|
// First test, not reading when the readable is added.
|
|
// make sure that on('readable', ...) triggers a readable event.
|
|
var r = new Readable({
|
|
highWaterMark: 3
|
|
});
|
|
|
|
var _readCalled = false;
|
|
r._read = function(n) {
|
|
_readCalled = true;
|
|
};
|
|
|
|
// This triggers a 'readable' event, which is lost.
|
|
r.push(new Buffer('blerg'));
|
|
|
|
var caughtReadable = false;
|
|
setTimeout(function() {
|
|
// we're testing what we think we are
|
|
assert(!r._readableState.reading);
|
|
r.on('readable', function() {
|
|
caughtReadable = true;
|
|
});
|
|
});
|
|
|
|
process.on('exit', function() {
|
|
// we're testing what we think we are
|
|
assert(!_readCalled);
|
|
|
|
assert(caughtReadable);
|
|
console.log('ok 1');
|
|
});
|
|
})();
|
|
|
|
(function second() {
|
|
// second test, make sure that readable is re-emitted if there's
|
|
// already a length, while it IS reading.
|
|
|
|
var r = new Readable({
|
|
highWaterMark: 3
|
|
});
|
|
|
|
var _readCalled = false;
|
|
r._read = function(n) {
|
|
_readCalled = true;
|
|
};
|
|
|
|
// This triggers a 'readable' event, which is lost.
|
|
r.push(new Buffer('bl'));
|
|
|
|
var caughtReadable = false;
|
|
setTimeout(function() {
|
|
// assert we're testing what we think we are
|
|
assert(r._readableState.reading);
|
|
r.on('readable', function() {
|
|
caughtReadable = true;
|
|
});
|
|
});
|
|
|
|
process.on('exit', function() {
|
|
// we're testing what we think we are
|
|
assert(_readCalled);
|
|
|
|
assert(caughtReadable);
|
|
console.log('ok 2');
|
|
});
|
|
})();
|
|
|
|
(function third() {
|
|
// Third test, not reading when the stream has not passed
|
|
// the highWaterMark but *has* reached EOF.
|
|
var r = new Readable({
|
|
highWaterMark: 30
|
|
});
|
|
|
|
var _readCalled = false;
|
|
r._read = function(n) {
|
|
_readCalled = true;
|
|
};
|
|
|
|
// This triggers a 'readable' event, which is lost.
|
|
r.push(new Buffer('blerg'));
|
|
r.push(null);
|
|
|
|
var caughtReadable = false;
|
|
setTimeout(function() {
|
|
// assert we're testing what we think we are
|
|
assert(!r._readableState.reading);
|
|
r.on('readable', function() {
|
|
caughtReadable = true;
|
|
});
|
|
});
|
|
|
|
process.on('exit', function() {
|
|
// we're testing what we think we are
|
|
assert(!_readCalled);
|
|
|
|
assert(caughtReadable);
|
|
console.log('ok 3');
|
|
});
|
|
})();
|