diff --git a/app/views/common/feed.atom.builder b/app/views/common/feed.atom.builder index 70dacc75a..d76f0acd1 100644 --- a/app/views/common/feed.atom.builder +++ b/app/views/common/feed.atom.builder @@ -1,8 +1,8 @@ xml.instruct! xml.feed "xmlns" => "http://www.w3.org/2005/Atom" do xml.title truncate_single_line(@title, :length => 100) - xml.link "rel" => "self", "href" => url_for(params.merge(:only_path => false)) - xml.link "rel" => "alternate", "href" => url_for(params.merge(:only_path => false, :format => nil, :key => nil)) + xml.link "rel" => "self", "href" => url_for(params.merge(:only_path => false, :escape => false)) + xml.link "rel" => "alternate", "href" => url_for(params.merge(:only_path => false, :format => nil, :key => nil, :escape => false)) xml.id url_for(:controller => 'welcome', :only_path => false) xml.updated((@items.first ? @items.first.event_datetime : Time.now).xmlschema) xml.author { xml.name "#{Setting.app_title}" } diff --git a/test/functional/activities_controller_test.rb b/test/functional/activities_controller_test.rb index f9d061325..5275034d0 100644 --- a/test/functional/activities_controller_test.rb +++ b/test/functional/activities_controller_test.rb @@ -97,9 +97,39 @@ class ActivitiesControllerTest < ActionController::TestCase end def test_index_atom_feed - get :index, :format => 'atom' + get :index, :format => 'atom', :with_subprojects => 0 assert_response :success assert_template 'common/feed.atom' + + assert_tag :tag => 'link', :parent => {:tag => 'feed', :parent => nil }, + :attributes => {:rel => 'self', :href => 'http://test.host/activity.atom?with_subprojects=0'} + assert_tag :tag => 'link', :parent => {:tag => 'feed', :parent => nil }, + :attributes => {:rel => 'alternate', :href => 'http://test.host/activity?with_subprojects=0'} + + assert_tag :tag => 'entry', :child => { + :tag => 'link', + :attributes => {:href => 'http://test.host/issues/11'}} + end + + def test_index_atom_feed_with_explicit_selection + get :index, :format => 'atom', :with_subprojects => 0, + :show_changesets => 1, + :show_documents => 1, + :show_files => 1, + :show_issues => 1, + :show_messages => 1, + :show_news => 1, + :show_time_entries => 1, + :show_wiki_edits => 1 + + assert_response :success + assert_template 'common/feed.atom' + + assert_tag :tag => 'link', :parent => {:tag => 'feed', :parent => nil }, + :attributes => {:rel => 'self', :href => 'http://test.host/activity.atom?show_changesets=1&show_documents=1&show_files=1&show_issues=1&show_messages=1&show_news=1&show_time_entries=1&show_wiki_edits=1&with_subprojects=0'} + assert_tag :tag => 'link', :parent => {:tag => 'feed', :parent => nil }, + :attributes => {:rel => 'alternate', :href => 'http://test.host/activity?show_changesets=1&show_documents=1&show_files=1&show_issues=1&show_messages=1&show_news=1&show_time_entries=1&show_wiki_edits=1&with_subprojects=0'} + assert_tag :tag => 'entry', :child => { :tag => 'link', :attributes => {:href => 'http://test.host/issues/11'}}