# (i.e. is it visible? are we actually reverting to an earlier version?)
def get_nodes_undelete
- points = []
- self.nds.each do |n|
+ self.nds.collect do |n|
node = Node.find(n)
- points << [node.lon, node.lat, n, node.version, node.tags_as_hash, node.visible]
+ [node.lon, node.lat, n, node.version, node.tags_as_hash, node.visible]
end
- points
end
def get_nodes_revert(timestamp)
assert_equal "added in way version 3", tags["testing"]
assert_equal "modified in way version 4", tags["testing two"]
end
+
+ def test_get_nodes_undelete
+ way = ways(:way_with_versions_v3)
+ nodes = OldWay.find(way.id).get_nodes_undelete
+ assert_equal 2, nodes.size
+ assert_equal [1.0, 1.0, 15, 4, {"testing" => "added in node version 3", "testing two" => "modified in node version 4"}, true], nodes[0]
+ assert_equal [3.0, 3.0, 3, 1, {"test" => "yes"}, true], nodes[1]
+
+ way = ways(:way_with_redacted_versions_v2)
+ nodes = OldWay.find(way.id).get_nodes_undelete
+ assert_equal 2, nodes.size
+ assert_equal [3.0, 3.0, 3, 1, {"test" => "yes"}, true], nodes[0]
+ assert_equal [2.0, 2.0, 2, 1, {"testused" => "yes"}, false], nodes[1]
+ end
end