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 "