Merge branch 'master' of github.com:systemed/iD

This commit is contained in:
Tom MacWright
2012-12-07 14:40:07 -05:00
3 changed files with 20 additions and 4 deletions

View File

@@ -23,6 +23,7 @@ iD.modes.AddArea = function() {
history.perform(
iD.actions.AddWay(way),
iD.actions.AddWayNode(way.id, datum.id),
iD.actions.AddWayNode(way.id, datum.id),
'started an area');
} else {
@@ -32,6 +33,7 @@ iD.modes.AddArea = function() {
iD.actions.AddWay(way),
iD.actions.AddNode(node),
iD.actions.AddWayNode(way.id, node.id),
iD.actions.AddWayNode(way.id, node.id),
'started an area');
}

View File

@@ -19,7 +19,7 @@ iD.modes.DrawArea = function(wayId) {
history.perform(
iD.actions.AddNode(node),
iD.actions.AddWayNode(way.id, node.id));
iD.actions.AddWayNode(way.id, node.id, -1));
map.surface.on('mousemove.drawarea', function() {
history.replace(iD.actions.Move(node.id, map.mouseCoordinates()));
@@ -31,7 +31,7 @@ iD.modes.DrawArea = function(wayId) {
if (datum.id === tailId) {
history.replace(
iD.actions.DeleteNode(node.id),
iD.actions.AddWayNode(way.id, tailId),
iD.actions.AddWayNode(way.id, tailId, -1),
'added to an area');
controller.enter(iD.modes.Select(way));
@@ -40,7 +40,7 @@ iD.modes.DrawArea = function(wayId) {
// connect the way to an existing node
history.replace(
iD.actions.DeleteNode(node.id),
iD.actions.AddWayNode(way.id, datum.id),
iD.actions.AddWayNode(way.id, datum.id, -1),
'added to an area');
controller.enter(iD.modes.DrawArea(wayId));

View File

@@ -6,10 +6,24 @@ describe("iD.actions.AddWayNode", function () {
expect(graph.entity(way.id).nodes).to.eql(["n1"]);
});
it("adds a node to a way at the specified index", function () {
it("adds a node to a way at index 0", function () {
var way = iD.Way({nodes: ["n1", "n3"]}),
node = iD.Node({id: "n2"}),
graph = iD.actions.AddWayNode(way.id, node.id, 0)(iD.Graph([way, node]));
expect(graph.entity(way.id).nodes).to.eql(["n2", "n1", "n3"]);
});
it("adds a node to a way at a positive index", function () {
var way = iD.Way({nodes: ["n1", "n3"]}),
node = iD.Node({id: "n2"}),
graph = iD.actions.AddWayNode(way.id, node.id, 1)(iD.Graph([way, node]));
expect(graph.entity(way.id).nodes).to.eql(["n1", "n2", "n3"]);
});
it("adds a node to a way at a negative index", function () {
var way = iD.Way({nodes: ["n1", "n3"]}),
node = iD.Node({id: "n2"}),
graph = iD.actions.AddWayNode(way.id, node.id, -1)(iD.Graph([way, node]));
expect(graph.entity(way.id).nodes).to.eql(["n1", "n2", "n3"]);
});
});