Add waypoints parameter to viaroute API (#5345)
* Add silent waypoints to viaroute API.
This commit is contained in:
@@ -319,6 +319,30 @@ test('match: throws on invalid waypoints values, waypoints must correspond with
|
||||
'Waypoints must correspond with the index of an input coordinate');
|
||||
});
|
||||
|
||||
test('match: throws on invalid waypoints values, waypoints must be an array', function (assert) {
|
||||
assert.plan(1);
|
||||
var osrm = new OSRM(data_path);
|
||||
var options = {
|
||||
steps: true,
|
||||
coordinates: three_test_coordinates,
|
||||
waypoints: "string"
|
||||
};
|
||||
assert.throws(function () { osrm.match(options, function (err, response) { console.log(err); }); },
|
||||
'Waypoints must be an array of integers corresponding to the input coordinates.');
|
||||
});
|
||||
|
||||
test('match: throws on invalid waypoints values, waypoints must be an array of integers', function (assert) {
|
||||
assert.plan(1);
|
||||
var osrm = new OSRM(data_path);
|
||||
var options = {
|
||||
steps: true,
|
||||
coordinates: three_test_coordinates,
|
||||
waypoints: [0,1,"string"]
|
||||
};
|
||||
assert.throws(function () { osrm.match(options, function (err, response) { console.log(err); }); },
|
||||
'Waypoint values must be an array of integers');
|
||||
});
|
||||
|
||||
test('match: error on split trace', function(assert) {
|
||||
assert.plan(1);
|
||||
var osrm = new OSRM(data_path);
|
||||
|
||||
@@ -606,3 +606,87 @@ test('route: route in Monaco without motorways', function(assert) {
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
test('route: throws on invalid waypoints values needs at least two', function (assert) {
|
||||
assert.plan(1);
|
||||
var osrm = new OSRM(monaco_path);
|
||||
var options = {
|
||||
steps: true,
|
||||
coordinates: three_test_coordinates,
|
||||
waypoints: [0]
|
||||
};
|
||||
assert.throws(function () { osrm.route(options, function (err, response) { }); },
|
||||
'At least two waypoints must be provided');
|
||||
});
|
||||
|
||||
test('route: throws on invalid waypoints values, needs first and last coordinate indices', function (assert) {
|
||||
assert.plan(1);
|
||||
var osrm = new OSRM(monaco_path);
|
||||
var options = {
|
||||
steps: true,
|
||||
coordinates: three_test_coordinates,
|
||||
waypoints: [1, 2]
|
||||
};
|
||||
assert.throws(function () { osrm.route(options, function (err, response) { console.log(err); }); },
|
||||
'First and last waypoints values must correspond to first and last coordinate indices');
|
||||
});
|
||||
|
||||
test('route: throws on invalid waypoints values, order matters', function (assert) {
|
||||
assert.plan(1);
|
||||
var osrm = new OSRM(monaco_path);
|
||||
var options = {
|
||||
steps: true,
|
||||
coordinates: three_test_coordinates,
|
||||
waypoints: [2, 0]
|
||||
};
|
||||
assert.throws(function () { osrm.route(options, function (err, response) { console.log(err); }); },
|
||||
'First and last waypoints values must correspond to first and last coordinate indices');
|
||||
});
|
||||
|
||||
test('route: throws on invalid waypoints values, waypoints must correspond with a coordinate index', function (assert) {
|
||||
assert.plan(1);
|
||||
var osrm = new OSRM(monaco_path);
|
||||
var options = {
|
||||
steps: true,
|
||||
coordinates: three_test_coordinates,
|
||||
waypoints: [0, 3, 2]
|
||||
};
|
||||
assert.throws(function () { osrm.route(options, function (err, response) { console.log(err); }); },
|
||||
'Waypoints must correspond with the index of an input coordinate');
|
||||
});
|
||||
|
||||
test('route: throws on invalid waypoints values, waypoints must be an array', function (assert) {
|
||||
assert.plan(1);
|
||||
var osrm = new OSRM(monaco_path);
|
||||
var options = {
|
||||
steps: true,
|
||||
coordinates: three_test_coordinates,
|
||||
waypoints: "string"
|
||||
};
|
||||
assert.throws(function () { osrm.route(options, function (err, response) { console.log(err); }); },
|
||||
'Waypoints must be an array of integers corresponding to the input coordinates.');
|
||||
});
|
||||
|
||||
test('route: throws on invalid waypoints values, waypoints must be an array of integers', function (assert) {
|
||||
assert.plan(1);
|
||||
var osrm = new OSRM(monaco_path);
|
||||
var options = {
|
||||
steps: true,
|
||||
coordinates: three_test_coordinates,
|
||||
waypoints: [0,1,"string"]
|
||||
};
|
||||
assert.throws(function () { osrm.route(options, function (err, response) { console.log(err); }); },
|
||||
'Waypoint values must be an array of integers');
|
||||
});
|
||||
|
||||
test('route: throws on invalid waypoints values, waypoints must be an array of integers in increasing order', function (assert) {
|
||||
assert.plan(1);
|
||||
var osrm = new OSRM(monaco_path);
|
||||
var options = {
|
||||
steps: true,
|
||||
coordinates: three_test_coordinates.concat(three_test_coordinates),
|
||||
waypoints: [0,2,1,5]
|
||||
};
|
||||
assert.throws(function () { osrm.route(options, function (err, response) { console.error(`response: ${response}`); console.error(`error: ${err}`); }); },
|
||||
/Waypoints must be supplied in increasing order/);
|
||||
});
|
||||
Reference in New Issue
Block a user