diff --git a/src/metadata.cc b/src/metadata.cc index 37ec3091..6c1bc2ef 100755 --- a/src/metadata.cc +++ b/src/metadata.cc @@ -87,7 +87,7 @@ class MetadataWorker : public NanAsyncWorker { Handle argv[2] = { NanNull(), NanNull() }; if (!baton->err.empty()) { // Error - argv[0] = NanNew(baton->err.data(), baton->err.size()); + argv[0] = Exception::Error(NanNew(baton->err.data(), baton->err.size())); } else { // Metadata Object Local info = NanNew(); diff --git a/test/unit/metadata.js b/test/unit/metadata.js index 36ad3bbd..e9d7edf4 100755 --- a/test/unit/metadata.js +++ b/test/unit/metadata.js @@ -185,4 +185,11 @@ describe('Image metadata', function() { }); }); + it('Report an invalid image as an error', function(done) { + sharp(new Buffer([0x1, 0x2, 0x3, 0x4])).metadata(function (err, metadata) { + assert.ok(err); + assert.ok(err instanceof Error); + done(); + }); + }); });