[node] Reset Style::Impl::lastError when loading a new style

This commit is contained in:
John Firebaugh
2017-07-21 10:12:43 -07:00
parent 264ca961bd
commit a178248139
2 changed files with 53 additions and 0 deletions

View File

@@ -114,3 +114,54 @@ test(`render ignores request functions calling the callback a second time`, func
});
});
test(`render reports an error from loading the current style`, function(t) {
var map = new mbgl.Map({
request: function(req, callback) {
var data = mockfs.dataForRequest(req);
if (mockfs.source_vector === data) {
callback(new Error('message'));
} else {
callback(null, { data: data });
}
}
});
map.load(mockfs.style_vector);
map.render({ zoom: 16 }, function(err, pixels) {
t.assert(err);
t.assert(/message/.test(err.message));
t.assert(!pixels);
map.render({ zoom: 16 }, function(err, pixels) {
t.assert(err);
t.assert(/message/.test(err.message));
t.assert(!pixels);
t.end();
});
});
});
test(`render does not report an error from rendering a previous style`, function(t) {
var map = new mbgl.Map({
request: function(req, callback) {
var data = mockfs.dataForRequest(req);
if (mockfs.source_vector === data) {
callback(new Error('message'));
} else {
callback(null, { data: data });
}
}
});
map.load(mockfs.style_vector);
map.render({ zoom: 16 }, function(err, pixels) {
t.assert(err);
t.assert(/message/.test(err.message));
t.assert(!pixels);
map.load(mockfs.style_raster);
map.render({ zoom: 16 }, function(err, pixels) {
t.error(err);
t.assert(pixels);
t.end();
});
});
});