From b42a28067dc0519e77621ab0af3b549ce360ce17 Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Sun, 8 May 2011 15:18:03 +0100 Subject: [PATCH] Make sure the ruby quadtile code give the same result as the C version --- lib/quad_tile.rb | 4 ++-- test/functional/api_controller_test.rb | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) 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 -- 2.43.2