require "test_helper" class ApplicationHelperTest < ActionView::TestCase attr_accessor :current_user def setup I18n.locale = "en" end def teardown I18n.locale = "en" end 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" html = linkify(text) assert_equal false, html.html_safe? assert_dom_equal "Test #{link} is made into a link", html html = linkify(text.html_safe) assert_equal true, 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" html = linkify(text) assert_equal false, html.html_safe? assert_dom_equal text, html html = linkify(text.html_safe) assert_equal true, html.html_safe? assert_dom_equal text, html end end def test_rss_link_to link = rss_link_to(:controller => :diary_entry, :action => :rss) assert_dom_equal "", link end def test_atom_link_to link = atom_link_to(:controller => :changeset, :action => :feed) assert_dom_equal "", link end def test_style_rules self.current_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 self.current_user = create(: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_#{current_user.id} /, css assert_match /\.show_if_user_#{current_user.id} /, css assert_match /\.hide_unless_administrator /, css assert_match /\.hide_unless_moderator /, css self.current_user = create(: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_#{current_user.id} /, css assert_match /\.show_if_user_#{current_user.id} /, css assert_match /\.hide_unless_administrator /, css assert_no_match /\.hide_unless_moderator /, css self.current_user = create(: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_#{current_user.id} /, css assert_match /\.show_if_user_#{current_user.id} /, 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_dom_equal "