assert_select "osm way[id=#{way.id}][version=#{way.version}][visible=#{way.visible}]", 1
# check that each node in the way appears once in the output as a
- # reference and as the node element. note the slightly dodgy assumption
- # that nodes appear only once. this is currently the case with the
- # fixtures, but it doesn't have to be.
+ # reference and as the node element.
way.nodes.each do |n|
- assert_select "osm way nd[ref=#{n.id}]", 1
+ count = (way.nodes - (way.nodes - [n])).length
+ assert_select "osm way nd[ref=#{n.id}]", count
assert_select "osm node[id=#{n.id}][version=#{n.version}][lat=#{n.lat}][lon=#{n.lon}]", 1
end
end
assert_response :forbidden
# Now try without having a changeset
- content "<osm><way id='#{current_ways(:visible_way).id}'></osm>"
+ content "<osm><way id='#{current_ways(:visible_way).id}'/></osm>"
delete :delete, :id => current_ways(:visible_way).id
assert_response :forbidden
assert_response :bad_request
# Now try without having a changeset
- content "<osm><way id='#{current_ways(:visible_way).id}'></osm>"
+ content "<osm><way id='#{current_ways(:visible_way).id}'/></osm>"
delete :delete, :id => current_ways(:visible_way).id
assert_response :bad_request
delete :delete, :id => current_ways(:used_way).id
assert_response :precondition_failed,
"shouldn't be able to delete a way used in a relation (#{@response.body})"
- assert_equal "Precondition failed: Way 3 still used by relation 1.", @response.body
+ assert_equal "Precondition failed: Way 3 is still used by relations 1.", @response.body
# this won't work since the way never existed
delete :delete, :id => 0