From 8e6e860f87f9c2f0325247932c3e0daa8e416ac1 Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Tue, 19 Feb 2013 18:06:18 -0500 Subject: [PATCH] Fix removing from tree --- js/id/core/tree.js | 4 ++-- test/spec/core/tree.js | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/js/id/core/tree.js b/js/id/core/tree.js index 94b28f12e..94b174230 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 || 1, - dy = m * extent[1][1] - y || 1; + dx = m * extent[1][0] - x || 2, + dy = m * extent[1][1] - y || 2; 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 8cd4e55b6..1719f0d64 100644 --- a/test/spec/core/tree.js +++ b/test/spec/core/tree.js @@ -52,5 +52,13 @@ describe("iD.Tree", function() { var g = tree.graph().replace(n1).replace(n2); expect(tree.intersects(iD.geo.Extent([0, 0], [1.1, 1.1]), g)).to.eql([n1]); }); + + it("doesn't include removed entities", function() { + var n1 = iD.Node({ id: 'n1', loc: [1, 1]}); + var g = tree.graph().replace(n1); + expect(tree.intersects(iD.geo.Extent([0, 0], [2, 2]), g)).to.eql([n1]); + g = g.remove(n1); + expect(tree.intersects(iD.geo.Extent([0, 0], [2, 2]), g)).to.eql([]); + }); }); });