summaryrefslogtreecommitdiff
path: root/jstests/core/geo_s2nearcorrect.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/geo_s2nearcorrect.js')
-rw-r--r--jstests/core/geo_s2nearcorrect.js12
1 files changed, 12 insertions, 0 deletions
diff --git a/jstests/core/geo_s2nearcorrect.js b/jstests/core/geo_s2nearcorrect.js
new file mode 100644
index 00000000000..cdb5404a08d
--- /dev/null
+++ b/jstests/core/geo_s2nearcorrect.js
@@ -0,0 +1,12 @@
+// SERVER-9484
+// A geometry may have several covers, one of which is in a search ring and the other of which is
+// not. If we see the cover that's not in the search ring, we can't mark the object as 'seen' for
+// this ring.
+t = db.geo_s2nearcorrect
+t.drop()
+
+longline = { "type" : "LineString", "coordinates": [ [0,0], [179, 89]]};
+t.insert({geo: longline});
+t.ensureIndex({geo: "2dsphere"});
+origin = { "type" : "Point", "coordinates": [ 45, 45] }
+assert.eq(1, t.find({ "geo" : { "$near" : { "$geometry" : origin, $maxDistance: 20000000} } }).count());