]> git.openstreetmap.org Git - rails.git/blob - test/helpers/changesets_helper_test.rb
Fix HTML escaping issues with user role icons
[rails.git] / test / helpers / changesets_helper_test.rb
1 require "test_helper"
2
3 class ChangesetsHelperTest < ActionView::TestCase
4   def test_changeset_user_link
5     changeset = create(:changeset)
6     assert_equal %(<a href="/user/#{ERB::Util.u(changeset.user.display_name)}">#{changeset.user.display_name}</a>), changeset_user_link(changeset)
7
8     changeset = create(:changeset, :user => create(:user, :data_public => false))
9     assert_equal "anonymous", changeset_user_link(changeset)
10
11     changeset = create(:changeset, :user => create(:user, :deleted))
12     assert_equal "deleted", changeset_user_link(changeset)
13   end
14
15   def test_changeset_details
16     changeset = create(:changeset, :created_at => Time.utc(2007, 1, 1, 0, 0, 0), :user => create(:user, :data_public => false))
17     # We need to explicitly reset the closed_at to some point in the future, and avoid the before_save callback
18     changeset.update_column(:closed_at, Time.now.utc + 1.day) # rubocop:disable Rails/SkipsModelValidations
19
20     assert_match %r{^Created <abbr title='Mon, 01 Jan 2007 00:00:00 \+0000'>.*</abbr> by anonymous$}, changeset_details(changeset)
21
22     changeset = create(:changeset, :created_at => Time.utc(2007, 1, 1, 0, 0, 0), :closed_at => Time.utc(2007, 1, 2, 0, 0, 0))
23     user_link = %(<a href="/user/#{ERB::Util.u(changeset.user.display_name)}">#{changeset.user.display_name}</a>)
24
25     assert_match %r{^Closed <abbr title='Created: Mon, 01 Jan 2007 00:00:00 \+0000&#10;Closed: Tue, 02 Jan 2007 00:00:00 \+0000'>.*</abbr> by #{user_link}$}, changeset_details(changeset)
26   end
27 end