From 1bd316de804b7f922f3245dc28f64e3bb9abfb2b Mon Sep 17 00:00:00 2001 From: Andreas Lind Date: Thu, 23 Oct 2014 08:27:10 +0200 Subject: [PATCH] Pass errors as Error instances rather than strings. --- src/metadata.cc | 2 +- test/unit/metadata.js | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) 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(); + }); + }); });