summaryrefslogtreecommitdiff
path: root/jstests/core/geo_invalid_polygon.js
blob: 0eab7ca5406cc6db4d5026edfb299bc0dda51875 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// With invalid geometry, error message should include _id
// SERVER-8992
t = db.geo_invalid_polygon;
t.drop();

// Self-intersecting polygon, triggers
// "Exterior shell of polygon is invalid".
var geometry = {type: "Polygon", coordinates: [[[0, 0], [0, 1], [1, 1], [-2, -1], [0, 0]]]};

t.insert({_id: 42, geometry: geometry});
var err = t.createIndex({geometry: '2dsphere'});
assert.commandFailed(err);

// Document's _id should be in error message.
assert(-1 != err.errmsg.indexOf('42'),
       "Error message didn't contain document _id.\nMessage: \"" + err.errmsg + '"\n');