var OSRM = require('../../'); var test = require('tape'); var data_path = require('./constants').data_path; var tile = require('./constants').test_tile; test.test('tile check size coarse', function(assert) { assert.plan(2); var osrm = new OSRM(data_path); osrm.tile(tile.at, function(err, result) { assert.ifError(err); assert.equal(result.length, tile.size); }); }); test.test('tile interface pre-conditions', function(assert) { assert.plan(6); var osrm = new OSRM(data_path); assert.throws(function() { osrm.tile(null, function(err, result) {}) }, /must be an array \[x, y, z\]/); assert.throws(function() { osrm.tile([], function(err, result) {}) }, /must be an array \[x, y, z\]/); assert.throws(function() { osrm.tile([[]], function(err, result) {}) }, /must be an array \[x, y, z\]/); assert.throws(function() { osrm.tile(undefined, function(err, result) {}) }, /must be an array \[x, y, z\]/); assert.throws(function() { osrm.tile(17059, 11948, 15, function(err, result) {}) }, /must be an array \[x, y, z\]/); assert.throws(function() { osrm.tile([17059, 11948, -15], function(err, result) {}) }, /must be unsigned/); }); test.test('tile fails to load with geometry disabled', function(assert) { assert.plan(1); var osrm = new OSRM({'path': data_path, 'disable_feature_dataset': ['ROUTE_GEOMETRY']}); osrm.tile(tile.at, function(err, result) { console.log(err) assert.match(err.message, /DisabledDatasetException/); }); }); test.test('tile ok with steps disabled', function(assert) { assert.plan(2); var osrm = new OSRM({'path': data_path, 'disable_feature_dataset': ['ROUTE_STEPS']}); osrm.tile(tile.at, function(err, result) { assert.ifError(err); assert.equal(result.length, tile.size); }); });