Improve Stream error handling #88

This commit is contained in:
Lovell Fuller
2014-09-12 19:30:57 +01:00
parent 34c96ff925
commit 515b4656e6
3 changed files with 46 additions and 11 deletions

View File

@@ -417,6 +417,33 @@ async.series([
var pipeline = sharp().resize(320, 240);
readable.pipe(pipeline).pipe(writable);
},
// Stream-Stream error handling
function(done) {
var pipeline = sharp().resize(320, 240);
var anErrorWasEmitted = false;
pipeline.on('error', function(err) {
anErrorWasEmitted = !!err;
}).on('end', function() {
assert(anErrorWasEmitted);
done();
});
var readableButNotAnImage = fs.createReadStream(__filename);
var writable = fs.createWriteStream(outputJpg);
readableButNotAnImage.pipe(pipeline).pipe(writable);
},
// File-Stream error handling
function(done) {
var readableButNotAnImage = sharp(__filename).resize(320, 240);
var anErrorWasEmitted = false;
readableButNotAnImage.on('error', function(err) {
anErrorWasEmitted = !!err;
}).on('end', function() {
assert(anErrorWasEmitted);
done();
});
var writable = fs.createWriteStream(outputJpg);
readableButNotAnImage.pipe(writable);
},
// Crop, gravity=north
function(done) {
sharp(inputJpg).resize(320, 80).crop(sharp.gravity.north).toFile(path.join(fixturesPath, 'output.gravity-north.jpg'), function(err, info) {