+ # This differs from the above test in that we are making the bbox exactly
+ # the same as the node we are looking at
+ def test_map_inclusive
+ node = current_nodes(:used_node_1)
+ bbox = "#{node.lon},#{node.lat},#{node.lon},#{node.lat}"
+ get :map, :bbox => bbox
+ 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
+ # 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
+ point = gpx_files(:public_trace_file)
+ minlon = point.longitude-0.001
+ minlat = point.latitude-0.001
+ maxlon = point.longitude+0.001
+ maxlat = point.latitude+0.001
+ bbox = "#{minlon},#{minlat},#{maxlon},#{maxlat}"
+ get :trackpoints, :bbox => bbox
+ assert_response :success
+ assert_select "gpx[version=1.0][creator=OpenStreetMap.org][xmlns=http://www.topografix.com/GPX/1/0]", :count => 1 do
+ assert_select "trk" do
+ assert_select "trkseg"
+ end
+ end
+ end
+
+ def test_tracepoints_trackable
+ point = gpx_files(:trackable_trace_file)
+ minlon = point.longitude-0.002
+ minlat = point.latitude-0.002
+ maxlon = point.longitude+0.002
+ maxlat = point.latitude+0.002
+ bbox = "#{minlon},#{minlat},#{maxlon},#{maxlat}"
+ get :trackpoints, :bbox => bbox
+ assert_response :success
+ assert_select "gpx[version=1.0][creator=OpenStreetMap.org][xmlns=http://www.topografix.com/GPX/1/0]", :count => 1 do
+ assert_select "trk", :count => 1 do
+ assert_select "trk > trkseg", :count => 2 do |trksegs|
+ trksegs.each do |trkseg|
+ assert_select trkseg, "trkpt", :count => 1 do |trkpt|
+ assert_select trkpt[0], "time", :count => 1
+ end
+ end
+ end
+ end
+ end
+ end
+
+ def test_tracepoints_identifiable
+ point = gpx_files(:identifiable_trace_file)
+ minlon = point.longitude-0.002
+ minlat = point.latitude-0.002
+ maxlon = point.longitude+0.002
+ maxlat = point.latitude+0.002
+ bbox = "#{minlon},#{minlat},#{maxlon},#{maxlat}"
+ get :trackpoints, :bbox => bbox
+ assert_response :success
+ assert_select "gpx[version=1.0][creator=OpenStreetMap.org][xmlns=http://www.topografix.com/GPX/1/0]", :count => 1 do
+ assert_select "trk", :count => 1 do
+ assert_select "trk>name", :count => 1
+ assert_select "trk>desc", :count => 1
+ assert_select "trk>url", :count => 1
+ assert_select "trkseg", :count => 1 do
+ assert_select "trkpt", :count => 1 do
+ assert_select "time", :count => 1
+ end
+ end
+ end
+ end
+ end
+