From: Tom Hughes Date: Sun, 8 May 2011 14:18:03 +0000 (+0100) Subject: Make sure the ruby quadtile code give the same result as the C version X-Git-Tag: live~6859^2~10 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/b42a28067dc0519e77621ab0af3b549ce360ce17 Make sure the ruby quadtile code give the same result as the C version --- diff --git a/lib/quad_tile.rb b/lib/quad_tile.rb index 6e4fb6d22..a818f6a27 100644 --- a/lib/quad_tile.rb +++ b/lib/quad_tile.rb @@ -3,8 +3,8 @@ module QuadTile require "quad_tile/quad_tile_so" rescue MissingSourceFile def self.tile_for_point(lat, lon) - x = ((lon + 180) * 65535 / 360).round - y = ((lat + 90) * 65535 / 180).round + x = ((lon.to_f + 180) * 65535 / 360).round + y = ((lat.to_f + 90) * 65535 / 180).round return tile_for_xy(x, y) end diff --git a/test/functional/api_controller_test.rb b/test/functional/api_controller_test.rb index 098026a93..d5b1163e1 100644 --- a/test/functional/api_controller_test.rb +++ b/test/functional/api_controller_test.rb @@ -53,9 +53,15 @@ class ApiControllerTest < ActionController::TestCase node = current_nodes(:used_node_1) bbox = "#{node.lon},#{node.lat},#{node.lon},#{node.lat}" get :map, :bbox => bbox - #print @response.body assert_response :success, "The map call should have succeeded" - assert_select "osm[version='#{API_VERSION}'][generator='#{GENERATOR}']:root:empty", :count => 1 + assert_select "osm[version='#{API_VERSION}'][generator='#{GENERATOR}']:root", :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 + # This should really be more generic + assert_select "tag[k='test'][v='yes']" + end + # Should also test for the ways and relation + end end def test_tracepoints