Tree handles entities with missing children

This commit is contained in:
Ansis Brammanis
2013-02-13 10:23:30 -05:00
parent 6baf6a6dd4
commit 9c65e58cc1
5 changed files with 42 additions and 17 deletions
+2
View File
@@ -133,6 +133,7 @@
<script src='../js/id/core/node.js'></script>
<script src='../js/id/core/relation.js'></script>
<script src='../js/id/core/way.js'></script>
<script src='../js/id/core/tree.js'></script>
<script src='../js/id/connection.js'></script>
@@ -172,6 +173,7 @@
<script src="spec/core/relation.js"></script>
<script src="spec/core/history.js"></script>
<script src="spec/core/difference.js"></script>
<script src="spec/core/tree.js"></script>
<script src="spec/renderer/background.js"></script>
<script src="spec/renderer/map.js"></script>
+18
View File
@@ -0,0 +1,18 @@
describe("iD.Tree", function() {
var tree;
beforeEach(function() {
tree = iD.Tree(iD.Graph());
});
describe("intersects", function() {
it("excludes entities with missing children, adds them when all are present", function() {
var way = iD.Way({id: 'w1', nodes: ['n']});
var g = tree.base().replace(way);
expect(tree.intersects(iD.geo.Extent([0, 0], [1, 1]), g)).to.eql([]);
var node = iD.Node({id: 'n', loc: [0.5, 0.5]});
g = tree.base().replace(node);
expect(tree.intersects(iD.geo.Extent([0, 0], [1, 1]), g)).to.eql([way, node]);
});
});
});