diff options
-rw-r--r-- | platform/node/src/node_request.cpp | 2 | ||||
-rw-r--r-- | platform/node/test/js/map.test.js | 29 |
2 files changed, 30 insertions, 1 deletions
diff --git a/platform/node/src/node_request.cpp b/platform/node/src/node_request.cpp index 1c8b46b838..50d7628a2b 100644 --- a/platform/node/src/node_request.cpp +++ b/platform/node/src/node_request.cpp @@ -48,7 +48,7 @@ NAN_METHOD(NodeRequest::Respond) { mbgl::Response response; if (info.Length() < 1) { - response.error = std::make_unique<Error>(Error::Reason::NotFound); + response.noContent = true; } else if (info[0]->BooleanValue()) { std::unique_ptr<Nan::Utf8String> message; diff --git a/platform/node/test/js/map.test.js b/platform/node/test/js/map.test.js index df7b5f8706..ba704977ee 100644 --- a/platform/node/test/js/map.test.js +++ b/platform/node/test/js/map.test.js @@ -290,4 +290,33 @@ test('Map', function(t) { t.end(); }); }); + + t.test('request callback', function (t) { + t.test('returning an error', function(t) { + var map = new mbgl.Map({ + request: function(req, callback) { + callback(new Error('request error')); + }, + }); + map.load(style); + map.render({ zoom: 1 }, function(err, data) { + t.ok(err, 'returns error'); + t.equal(err.message, 'request error'); + t.end(); + }); + }); + + t.test('returning no content for a tile', function(t) { + var map = new mbgl.Map({ + request: function(req, callback) { + callback(); + }, + }); + map.load(style); + map.render({ zoom: 1 }, function(err, data) { + t.ok(data, 'no error'); + t.end(); + }); + }); + }); }); |