diff --git a/test/index.html b/test/index.html index 770d33e21..c16e61fb9 100644 --- a/test/index.html +++ b/test/index.html @@ -183,6 +183,7 @@ + diff --git a/test/spec/actions/orthogonalize.js b/test/spec/actions/orthogonalize.js new file mode 100644 index 000000000..690d73140 --- /dev/null +++ b/test/spec/actions/orthogonalize.js @@ -0,0 +1,30 @@ +describe("iD.actions.Orthogonalize", function () { + var projection = d3.geo.mercator(); + + it("orthoganalizes a quad", function () { + var graph = iD.Graph({ + 'a': iD.Node({id: 'a', loc: [0, 0]}), + 'b': iD.Node({id: 'b', loc: [4, 0]}), + 'c': iD.Node({id: 'c', loc: [3, 2]}), + 'd': iD.Node({id: 'd', loc: [0, 2]}), + '-': iD.Way({id: '-', nodes: ['a', 'b', 'c', 'd', 'a']}) + }); + + graph = iD.actions.Orthogonalize('-', projection)(graph); + + expect(graph.entity('-').nodes).to.have.length(5); + }); + + it("orthoganalizes a triangle", function () { + var graph = iD.Graph({ + 'a': iD.Node({id: 'a', loc: [0, 0]}), + 'b': iD.Node({id: 'b', loc: [3, 0]}), + 'c': iD.Node({id: 'c', loc: [2, 2]}), + '-': iD.Way({id: '-', nodes: ['a', 'b', 'c', 'a']}) + }); + + graph = iD.actions.Orthogonalize('-', projection)(graph); + + expect(graph.entity('-').nodes).to.have.length(4); + }); +});