Merge remote-tracking branch 'openstreetmap/pull/1507'
This commit is contained in:
commit
66d74a8c2c
4 changed files with 13 additions and 5 deletions
|
@ -185,8 +185,8 @@ class Node < ActiveRecord::Base
|
|||
add_metadata_to_xml_node(el, self, changeset_cache, user_display_name_cache)
|
||||
|
||||
if visible?
|
||||
el["lat"] = lat.to_s
|
||||
el["lon"] = lon.to_s
|
||||
el["lat"] = format("%.7f", lat)
|
||||
el["lon"] = format("%.7f", lon)
|
||||
end
|
||||
|
||||
add_tags_to_xml_node(el, node_tags)
|
||||
|
|
|
@ -69,7 +69,7 @@ class ApiControllerTest < ActionController::TestCase
|
|||
assert_response :success, "Expected scucess with the map call"
|
||||
assert_select "osm[version='#{API_VERSION}'][generator='#{GENERATOR}']", :count => 1 do
|
||||
assert_select "bounds[minlon='#{minlon}'][minlat='#{minlat}'][maxlon='#{maxlon}'][maxlat='#{maxlat}']", :count => 1
|
||||
assert_select "node[id='#{node.id}'][lat='#{node.lat}'][lon='#{node.lon}'][version='#{node.version}'][changeset='#{node.changeset_id}'][visible='#{node.visible}'][timestamp='#{node.timestamp.xmlschema}']", :count => 1 do
|
||||
assert_select "node[id='#{node.id}'][lat='#{format('%.7f', node.lat)}'][lon='#{format('%.7f', node.lon)}'][version='#{node.version}'][changeset='#{node.changeset_id}'][visible='#{node.visible}'][timestamp='#{node.timestamp.xmlschema}']", :count => 1 do
|
||||
# This should really be more generic
|
||||
assert_select "tag[k='#{tag.k}'][v='#{tag.v}']"
|
||||
end
|
||||
|
@ -91,7 +91,7 @@ class ApiControllerTest < ActionController::TestCase
|
|||
assert_response :success, "The map call should have succeeded"
|
||||
assert_select "osm[version='#{API_VERSION}'][generator='#{GENERATOR}']", :count => 1 do
|
||||
assert_select "bounds[minlon='#{node.lon}'][minlat='#{node.lat}'][maxlon='#{node.lon}'][maxlat='#{node.lat}']", :count => 1
|
||||
assert_select "node[id='#{node.id}'][lat='#{node.lat}'][lon='#{node.lon}'][version='#{node.version}'][changeset='#{node.changeset_id}'][visible='#{node.visible}'][timestamp='#{node.timestamp.xmlschema}']", :count => 1 do
|
||||
assert_select "node[id='#{node.id}'][lat='#{format('%.7f', node.lat)}'][lon='#{format('%.7f', node.lon)}'][version='#{node.version}'][changeset='#{node.changeset_id}'][visible='#{node.visible}'][timestamp='#{node.timestamp.xmlschema}']", :count => 1 do
|
||||
# This should really be more generic
|
||||
assert_select "tag[k='#{tag.k}'][v='#{tag.v}']"
|
||||
end
|
||||
|
|
|
@ -74,7 +74,7 @@ class WayControllerTest < ActionController::TestCase
|
|||
way.nodes.each do |n|
|
||||
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
|
||||
assert_select "osm node[id='#{n.id}'][version='#{n.version}'][lat='#{format('%.7f', n.lat)}'][lon='#{format('%.7f', n.lon)}']", 1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -61,6 +61,14 @@ class NodeTest < ActiveSupport::TestCase
|
|||
assert_in_delta 76.543 * OldNode::SCALE, node.longitude, 0.000001
|
||||
end
|
||||
|
||||
# Ensure the lat/lon is formatted as a decimal e.g. not 4.0e-05
|
||||
def test_lat_lon_xml_format
|
||||
node = build(:node, :latitude => 0.00004 * OldNode::SCALE, :longitude => 0.00008 * OldNode::SCALE)
|
||||
|
||||
assert_match /lat="0.0000400"/, node.to_xml.to_s
|
||||
assert_match /lon="0.0000800"/, node.to_xml.to_s
|
||||
end
|
||||
|
||||
# Check that you can create a node and store it
|
||||
def test_create
|
||||
changeset = create(:changeset)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue