|
|
|
'use strict';
|
|
|
|
var common = require('../common');
|
|
|
|
var assert = require('assert');
|
|
|
|
var path = require('path');
|
|
|
|
var fs = require('fs');
|
|
|
|
|
|
|
|
var emptyFile = path.join(common.fixturesDir, 'empty.txt');
|
|
|
|
|
|
|
|
fs.open(emptyFile, 'r', function(error, fd) {
|
|
|
|
assert.ifError(error);
|
|
|
|
|
|
|
|
var read = fs.createReadStream(emptyFile, { 'fd': fd });
|
|
|
|
|
|
|
|
read.once('data', function() {
|
|
|
|
throw new Error('data event should not emit');
|
|
|
|
});
|
|
|
|
|
|
|
|
var readEmit = false;
|
|
|
|
read.once('end', function() {
|
|
|
|
readEmit = true;
|
|
|
|
console.error('end event 1');
|
|
|
|
});
|
|
|
|
|
|
|
|
setTimeout(function() {
|
|
|
|
assert.equal(readEmit, true);
|
|
|
|
}, common.platformTimeout(50));
|
|
|
|
});
|
|
|
|
|
|
|
|
fs.open(emptyFile, 'r', function(error, fd) {
|
|
|
|
assert.ifError(error);
|
|
|
|
|
|
|
|
var read = fs.createReadStream(emptyFile, { 'fd': fd });
|
|
|
|
read.pause();
|
|
|
|
|
|
|
|
read.once('data', function() {
|
|
|
|
throw new Error('data event should not emit');
|
|
|
|
});
|
|
|
|
|
|
|
|
var readEmit = false;
|
|
|
|
read.once('end', function() {
|
|
|
|
readEmit = true;
|
|
|
|
console.error('end event 2');
|
|
|
|
});
|
|
|
|
|
|
|
|
setTimeout(function() {
|
|
|
|
assert.equal(readEmit, false);
|
|
|
|
}, common.platformTimeout(50));
|
|
|
|
});
|