summaryrefslogtreecommitdiff
path: root/platform/node
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2016-02-19 17:09:09 -0800
committerJohn Firebaugh <john.firebaugh@gmail.com>2016-02-19 17:25:57 -0800
commit675a628aa2830c6b76580104f50205514664b3e9 (patch)
tree57ef1ff0d20a54b5a0d7241e780954f37dd678a8 /platform/node
parentf7f89cb44a2ed17be957bda70da7a8fc71634fc3 (diff)
downloadqtlocation-mapboxgl-675a628aa2830c6b76580104f50205514664b3e9.tar.gz
[node] Fix handling of response callback with no arguments; add test
Diffstat (limited to 'platform/node')
-rw-r--r--platform/node/src/node_request.cpp2
-rw-r--r--platform/node/test/js/map.test.js29
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();
+ });
+ });
+ });
});