From 64c8ef626ffab7c6a79829854febf54c939afa7c Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Wed, 13 Feb 2013 15:10:48 -0500 Subject: [PATCH] Add general test for spatial tree --- js/id/core/tree.js | 4 ++-- test/spec/core/tree.js | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/js/id/core/tree.js b/js/id/core/tree.js index 34b46535f..498ccf429 100644 --- a/js/id/core/tree.js +++ b/js/id/core/tree.js @@ -12,8 +12,8 @@ iD.Tree = function(graph) { function extentRectangle(extent) { x = m * extent[0][0], y = m * extent[0][1], - dx = m * extent[1][0] - x || 2, - dy = m * extent[1][1] - y || 2; + dx = m * extent[1][0] - x || 1, + dy = m * extent[1][1] - y || 1; return new RTree.Rectangle(~~x, ~~y, ~~dx - 1, ~~dy - 1); } diff --git a/test/spec/core/tree.js b/test/spec/core/tree.js index 39769c40d..4cb0cf073 100644 --- a/test/spec/core/tree.js +++ b/test/spec/core/tree.js @@ -44,5 +44,12 @@ describe("iD.Tree", function() { tree.rebase(['n']); expect(tree.intersects(iD.geo.Extent([0, 0], [1, 1]), g)).to.eql([way, node]); }); + + it("includes entities within extent, excludes those without", function() { + var n1 = iD.Node({ id: 'n1', loc: [1, 1]}); + var n2 = iD.Node({ id: 'n2', loc: [3, 3]}); + var g = tree.graph().replace(n1).replace(n2); + expect(tree.intersects(iD.geo.Extent([0, 0], [1.1, 1.1]), g)).to.eql([n1]); + }); }); });