Fix URL generation for atom feed on history page

Fixes #3085
This commit is contained in:
Tom Hughes 2021-02-07 15:57:03 +00:00
parent d15041f847
commit e430bc0f7f
2 changed files with 15 additions and 1 deletions

View file

@ -1,6 +1,6 @@
<% content_for :auto_discovery_link_tag do -%> <% content_for :auto_discovery_link_tag do -%>
<% unless params[:friends] or params[:nearby] -%> <% 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 -%>
<% end -%> <% end -%>

View file

@ -40,6 +40,9 @@ class ChangesetsControllerTest < ActionDispatch::IntegrationTest
assert_template "history" assert_template "history"
assert_template :layout => "map" assert_template :layout => "map"
assert_select "h2", :text => "Changesets", :count => 1 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 get history_path(:format => "html", :list => "1"), :xhr => true
assert_response :success assert_response :success
@ -58,6 +61,9 @@ class ChangesetsControllerTest < ActionDispatch::IntegrationTest
assert_template "history" assert_template "history"
assert_template :layout => "xhr" assert_template :layout => "xhr"
assert_select "h2", :text => "Changesets", :count => 1 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 get history_path(:format => "html", :list => "1"), :xhr => true
assert_response :success assert_response :success
@ -84,6 +90,9 @@ class ChangesetsControllerTest < ActionDispatch::IntegrationTest
assert_template "history" assert_template "history"
assert_template :layout => "map" assert_template :layout => "map"
assert_select "h2", :text => "Changesets", :count => 1 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 get history_path(:format => "html", :bbox => "4.5,4.5,5.5,5.5", :list => "1"), :xhr => true
assert_response :success assert_response :success
@ -102,6 +111,11 @@ class ChangesetsControllerTest < ActionDispatch::IntegrationTest
get history_path(:format => "html", :display_name => user.display_name) get history_path(:format => "html", :display_name => user.display_name)
assert_response :success assert_response :success
assert_template "history" 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 get history_path(:format => "html", :display_name => user.display_name, :list => "1"), :xhr => true
assert_response :success assert_response :success