zlib.createUnzip does not throw error on unexpected end of file

Here's the code:

var zlib = require('zlib');
var fs = require('fs');

fs.createReadStream('test.gz') 
  .pipe(zlib.createGunzip()) 
  .on('error', function(err) {
    console.log("ERROR", err);
  })
  .pipe(fs.createWriteStream('test')) 
  .on('finish', function() {
    console.log("DONE");
  });

I take a big valid gz file and do:

head -n 100000 ~/valid.gz > test.gz

Now test.gz is an unfinished archive:

> gunzip -k test.gz
gunzip: test.gz: unexpected end of file
gunzip: test.gz: uncompress failed

...But the aforementioned script shows DONE on this (unfinished) archive. No error.
There should be.