]> git.openstreetmap.org Git - rails.git/blob - test/helpers/application_helper_test.rb
Fix case when user block durations are slightly negative
[rails.git] / test / helpers / application_helper_test.rb
1 require "test_helper"
2
3 class ApplicationHelperTest < ActionView::TestCase
4   attr_accessor :current_user
5
6   def setup
7     I18n.locale = "en"
8   end
9
10   def teardown
11     I18n.locale = "en"
12   end
13
14   def test_linkify
15     %w[http://example.com/test ftp://example.com/test https://example.com/test].each do |link|
16       text = "Test #{link} is <b>made</b> into a link"
17
18       html = linkify(text)
19       assert html.html_safe?
20       assert_dom_equal "Test <a href=\"#{link}\" rel=\"nofollow\">#{link}</a> is &lt;b&gt;made&lt;/b&gt; into a link", html
21
22       html = linkify(text.html_safe)
23       assert html.html_safe?
24       assert_dom_equal "Test <a href=\"#{link}\" rel=\"nofollow\">#{link}</a> is <b>made</b> into a link", html
25     end
26
27     %w[test@example.com mailto:test@example.com].each do |link|
28       text = "Test #{link} is not <b>made</b> into a link"
29
30       html = linkify(text)
31       assert html.html_safe?
32       assert_dom_equal "Test #{link} is not &lt;b&gt;made&lt;/b&gt; into a link", html
33
34       html = linkify(text.html_safe)
35       assert html.html_safe?
36       assert_dom_equal "Test #{link} is not <b>made</b> into a link", html
37     end
38   end
39
40   def test_rss_link_to
41     link = rss_link_to(:controller => :diary_entries, :action => :rss)
42     assert_dom_equal "<a class=\"rsssmall\" href=\"/diary/rss\"><img border=\"0\" height=\"16\" src=\"/images/RSS.png\" width=\"16\" /></a>", link
43   end
44
45   def test_atom_link_to
46     link = atom_link_to(:controller => :changesets, :action => :feed)
47     assert_dom_equal "<a class=\"rsssmall\" href=\"/history/feed\"><img border=\"0\" height=\"16\" src=\"/images/RSS.png\" width=\"16\" /></a>", link
48   end
49
50   def test_dir
51     assert_equal "ltr", dir
52
53     params[:dir] = "rtl"
54     assert_equal "rtl", dir
55     params.delete(:dir)
56
57     I18n.locale = "he"
58
59     assert_equal "rtl", dir
60
61     params[:dir] = "ltr"
62     assert_equal "ltr", dir
63     params.delete(:dir)
64   end
65
66   def test_friendly_date
67     date = friendly_date(Time.new(2014, 3, 5, 18, 58, 23))
68     assert_match %r{^<span title=" *5 March 2014 at 18:58">.*</span>$}, date
69
70     date = friendly_date(Time.now - 1.hour)
71     assert_match %r{^<span title=".*">about 1 hour</span>$}, date
72
73     date = friendly_date(Time.now - 2.days)
74     assert_match %r{^<span title=".*">2 days</span>$}, date
75
76     date = friendly_date(Time.now - 3.weeks)
77     assert_match %r{^<span title=".*">21 days</span>$}, date
78
79     date = friendly_date(Time.now - 4.months)
80     assert_match %r{^<span title=".*">4 months</span>$}, date
81   end
82
83   def test_body_class; end
84
85   def test_current_page_class; end
86 end