X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/501d13e1c0936cc3ba3d9639620517bae34e5784..c47a40c1db59f0d0f836fbcd1b876390befe796e:/test/helpers/application_helper_test.rb diff --git a/test/helpers/application_helper_test.rb b/test/helpers/application_helper_test.rb index f9aeb73cc..524851e63 100644 --- a/test/helpers/application_helper_test.rb +++ b/test/helpers/application_helper_test.rb @@ -1,153 +1,42 @@ -require 'test_helper' +require "test_helper" class ApplicationHelperTest < ActionView::TestCase - fixtures :users, :user_roles - - def setup - I18n.locale = "en" - end - - def setup - I18n.locale = "en" - end + attr_accessor :current_user def test_linkify - %w(http://example.com/test ftp://example.com/test https://example.com/test).each do |link| - text = "Test #{link} is made into a link" + %w[http://example.com/test ftp://example.com/test https://example.com/test].each do |link| + text = "Test #{link} is made into a link" html = linkify(text) - assert_equal false, html.html_safe? - assert_equal "Test #{link} is made into a link", html + assert_predicate html, :html_safe? + assert_dom_equal "Test #{link} is <b>made</b> into a link", html html = linkify(text.html_safe) - assert_equal true, html.html_safe? - assert_equal "Test #{link} is made into a link", html + assert_predicate html, :html_safe? + assert_dom_equal "Test #{link} is made into a link", html end - %w(test@example.com mailto:test@example.com).each do |link| - text = "Test #{link} is not made into a link" + %w[test@example.com mailto:test@example.com].each do |link| + text = "Test #{link} is not made into a link" html = linkify(text) - assert_equal false, html.html_safe? - assert_equal text, html + assert_predicate html, :html_safe? + assert_dom_equal "Test #{link} is not <b>made</b> into a link", html html = linkify(text.html_safe) - assert_equal true, html.html_safe? - assert_equal text, html + assert_predicate html, :html_safe? + assert_dom_equal "Test #{link} is not made into a link", html end end def test_rss_link_to - link = rss_link_to(:controller => :diary_entry, :action => :rss) - assert_equal "\"Rss\"", link + link = rss_link_to(:controller => :diary_entries, :action => :rss) + assert_dom_equal "", link end def test_atom_link_to - link = atom_link_to(:controller => :changeset, :action => :feed) - assert_equal "\"Rss\"", link - end - - def test_style_rules - @user = nil - - css = style_rules - assert_match /\.hidden /, css - assert_match /\.hide_unless_logged_in /, css - assert_no_match /\.hide_if_logged_in /, css - assert_no_match /\.hide_if_user_/, css - assert_no_match /\.show_if_user_/, css - assert_match /\.hide_unless_administrator /, css - assert_match /\.hide_unless_moderator /, css - - @user = users(:normal_user) - - css = style_rules - assert_match /\.hidden /, css - assert_no_match /\.hide_unless_logged_in /, css - assert_match /\.hide_if_logged_in /, css - assert_match /\.hide_if_user_1 /, css - assert_match /\.show_if_user_1 /, css - assert_match /\.hide_unless_administrator /, css - assert_match /\.hide_unless_moderator /, css - - @user = users(:moderator_user) - - css = style_rules - assert_match /\.hidden /, css - assert_no_match /\.hide_unless_logged_in /, css - assert_match /\.hide_if_logged_in /, css - assert_match /\.hide_if_user_5 /, css - assert_match /\.show_if_user_5 /, css - assert_match /\.hide_unless_administrator /, css - assert_no_match /\.hide_unless_moderator /, css - - @user = users(:administrator_user) - - css = style_rules - assert_match /\.hidden /, css - assert_no_match /\.hide_unless_logged_in /, css - assert_match /\.hide_if_logged_in /, css - assert_match /\.hide_if_user_6 /, css - assert_match /\.show_if_user_6 /, css - assert_no_match /\.hide_unless_administrator /, css - assert_match /\.hide_unless_moderator /, css - end - - def test_if_logged_in - html = if_logged_in { "Test 1" } - assert_equal "
Test 1
", html - - html = if_logged_in(:span) { "Test 2" } - assert_equal "Test 2", html - end - - def test_if_not_logged_in - html = if_not_logged_in { "Test 1" } - assert_equal "
Test 1
", html - - html = if_not_logged_in(:span) { "Test 2" } - assert_equal "Test 2", html - end - - def test_if_user - html = if_user(users(:normal_user)) { "Test 1" } - assert_equal "
Test 1
", html - - html = if_user(users(:normal_user), :span) { "Test 2" } - assert_equal "Test 2", html - - html = if_user(nil) { "Test 3" } - assert_nil html - - html = if_user(nil, :span) { "Test 4" } - assert_nil html - end - - def test_unless_user - html = unless_user(users(:normal_user)) { "Test 1" } - assert_equal "
Test 1
", html - - html = unless_user(users(:normal_user), :span) { "Test 2" } - assert_equal "Test 2", html - - html = unless_user(nil) { "Test 3" } - assert_equal "
Test 3
", html - - html = unless_user(nil, :span) { "Test 4" } - assert_equal "Test 4", html - end - - def test_if_administrator - html = if_administrator { "Test 1" } - assert_equal "
Test 1
", html - - html = if_administrator(:span) { "Test 2" } - assert_equal "Test 2", html - end - - def test_richtext_area - html = richtext_area(:message, :body, :cols => 40, :rows => 20) - assert_not_nil html + link = atom_link_to(:controller => :changesets, :action => :feed) + assert_dom_equal "", link end def test_dir @@ -157,35 +46,46 @@ class ApplicationHelperTest < ActionView::TestCase assert_equal "rtl", dir params.delete(:dir) - I18n.locale = "he" + I18n.with_locale "he" do + assert_equal "rtl", dir - assert_equal "rtl", dir - - params[:dir] = "ltr" - assert_equal "ltr", dir - params.delete(:dir) + params[:dir] = "ltr" + assert_equal "ltr", dir + params.delete(:dir) + end end def test_friendly_date - date = friendly_date(Time.new(2014, 3, 5, 18, 58, 23)) - assert_match /^.*<\/span>$/, date + date = friendly_date(Time.utc(2014, 3, 5, 18, 58, 23)) + assert_match %r{^$}, date - date = friendly_date(Time.now - 1.hour) - assert_match /^about 1 hour<\/span>$/, date + date = friendly_date(Time.now.utc - 1.hour) + assert_match %r{^$}, date - date = friendly_date(Time.now - 2.days) - assert_match /^2 days<\/span>$/, date + date = friendly_date(Time.now.utc - 2.days) + assert_match %r{^$}, date - date = friendly_date(Time.now - 3.weeks) - assert_match /^21 days<\/span>$/, date + date = friendly_date(Time.now.utc - 3.weeks) + assert_match %r{^$}, date - date = friendly_date(Time.now - 4.months) - assert_match /^4 months<\/span>$/, date + date = friendly_date(Time.now.utc - 4.months) + assert_match %r{^$}, date end - def test_body_class - end + def test_friendly_date_ago + date = friendly_date_ago(Time.utc(2014, 3, 5, 18, 58, 23)) + assert_match %r{^$}, date + + date = friendly_date_ago(Time.now.utc - 1.hour) + assert_match %r{^$}, date + + date = friendly_date_ago(Time.now.utc - 2.days) + assert_match %r{^$}, date + + date = friendly_date_ago(Time.now.utc - 3.weeks) + assert_match %r{^$}, date - def test_current_page_class + date = friendly_date_ago(Time.now.utc - 4.months) + assert_match %r{^$}, date end end