From: Tom Hughes Date: Sun, 7 Feb 2021 15:57:03 +0000 (+0000) Subject: Fix URL generation for atom feed on history page X-Git-Tag: live~1696 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/e430bc0f7f90d2765aa0218093e518d21b9173b1 Fix URL generation for atom feed on history page Fixes #3085 --- diff --git a/app/views/changesets/history.html.erb b/app/views/changesets/history.html.erb index f9eb01a6d..cb80787a7 100644 --- a/app/views/changesets/history.html.erb +++ b/app/views/changesets/history.html.erb @@ -1,6 +1,6 @@ <% content_for :auto_discovery_link_tag do -%> <% unless params[:friends] or params[:nearby] -%> - <%= auto_discovery_link_tag :atom, @params.merge(:max_id => nil, :xhr => nil, :action => :feed) %> + <%= auto_discovery_link_tag :atom, @params.to_h.merge(:max_id => nil, :xhr => nil, :action => :feed) %> <% end -%> <% end -%> diff --git a/test/controllers/changesets_controller_test.rb b/test/controllers/changesets_controller_test.rb index a5ce2aa62..fbbb36f3f 100644 --- a/test/controllers/changesets_controller_test.rb +++ b/test/controllers/changesets_controller_test.rb @@ -40,6 +40,9 @@ class ChangesetsControllerTest < ActionDispatch::IntegrationTest assert_template "history" assert_template :layout => "map" assert_select "h2", :text => "Changesets", :count => 1 + assert_select "link[rel='alternate'][type='application/atom+xml']", :count => 1 do + assert_select "[href=?]", "http://www.example.com/history/feed" + end get history_path(:format => "html", :list => "1"), :xhr => true assert_response :success @@ -58,6 +61,9 @@ class ChangesetsControllerTest < ActionDispatch::IntegrationTest assert_template "history" assert_template :layout => "xhr" assert_select "h2", :text => "Changesets", :count => 1 + assert_select "link[rel='alternate'][type='application/atom+xml']", :count => 1 do + assert_select "[href=?]", "http://www.example.com/history/feed" + end get history_path(:format => "html", :list => "1"), :xhr => true assert_response :success @@ -84,6 +90,9 @@ class ChangesetsControllerTest < ActionDispatch::IntegrationTest assert_template "history" assert_template :layout => "map" assert_select "h2", :text => "Changesets", :count => 1 + assert_select "link[rel='alternate'][type='application/atom+xml']", :count => 1 do + assert_select "[href=?]", "http://www.example.com/history/feed?bbox=4.5%2C4.5%2C5.5%2C5.5" + end get history_path(:format => "html", :bbox => "4.5,4.5,5.5,5.5", :list => "1"), :xhr => true assert_response :success @@ -102,6 +111,11 @@ class ChangesetsControllerTest < ActionDispatch::IntegrationTest get history_path(:format => "html", :display_name => user.display_name) assert_response :success assert_template "history" + assert_template :layout => "map" + assert_select "h2", :text => "Changesets by #{user.display_name}", :count => 1 + assert_select "link[rel='alternate'][type='application/atom+xml']", :count => 1 do + assert_select "[href=?]", "http://www.example.com/user/#{ERB::Util.url_encode(user.display_name)}/history/feed" + end get history_path(:format => "html", :display_name => user.display_name, :list => "1"), :xhr => true assert_response :success