]> git.openstreetmap.org Git - rails.git/blobdiff - test/helpers/application_helper_test.rb
Merge remote-tracking branch 'openstreetmap/pull/1521'
[rails.git] / test / helpers / application_helper_test.rb
index 46c35f950dee979e34eeb3c0c59a45a7f70ef07d..0cb1b5ad908fd2f367e462f936d39a8860032b83 100644 (file)
@@ -1,23 +1,25 @@
-require 'test_helper'
+require "test_helper"
 
 class ApplicationHelperTest < ActionView::TestCase
-  fixtures :users, :user_roles
-
   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_equal "Test <a href=\"#{link}\" rel=\"nofollow\">#{link}</a> is made into a link", html
+      assert_dom_equal "Test <a href=\"#{link}\" rel=\"nofollow\">#{link}</a> is made into a link", html
 
       html = linkify(text.html_safe)
-      assert_equal true, html.html_safe?    
-      assert_equal "Test <a href=\"#{link}\" rel=\"nofollow\">#{link}</a> is made into a link", html
+      assert_equal true, html.html_safe?
+      assert_dom_equal "Test <a href=\"#{link}\" rel=\"nofollow\">#{link}</a> is made into a link", html
     end
 
     %w(test@example.com mailto:test@example.com).each do |link|
@@ -25,22 +27,22 @@ class ApplicationHelperTest < ActionView::TestCase
 
       html = linkify(text)
       assert_equal false, html.html_safe?
-      assert_equal text, html
+      assert_dom_equal text, html
 
       html = linkify(text.html_safe)
-      assert_equal true, html.html_safe?    
-      assert_equal text, html
+      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_equal "<a class=\"rsssmall\" href=\"/diary/rss\"><img alt=\"Rss\" border=\"0\" height=\"16\" src=\"/images/RSS.png\" width=\"16\" /></a>", link
+    assert_dom_equal "<a class=\"rsssmall\" href=\"/diary/rss\"><img alt=\"Rss\" border=\"0\" height=\"16\" src=\"/images/RSS.png\" width=\"16\" /></a>", link
   end
 
   def test_atom_link_to
     link = atom_link_to(:controller => :changeset, :action => :feed)
-    assert_equal "<a class=\"rsssmall\" href=\"/history/feed\"><img alt=\"Rss\" border=\"0\" height=\"16\" src=\"/images/RSS.png\" width=\"16\" /></a>", link
+    assert_dom_equal "<a class=\"rsssmall\" href=\"/history/feed\"><img alt=\"Rss\" border=\"0\" height=\"16\" src=\"/images/RSS.png\" width=\"16\" /></a>", link
   end
 
   def test_style_rules
@@ -55,62 +57,64 @@ class ApplicationHelperTest < ActionView::TestCase
     assert_match /\.hide_unless_administrator /, css
     assert_match /\.hide_unless_moderator /, css
 
-    @user = users(:normal_user)
+    @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_1 /, css
-    assert_match /\.show_if_user_1 /, css
+    assert_match /\.hide_if_user_#{@user.id} /, css
+    assert_match /\.show_if_user_#{@user.id} /, css
     assert_match /\.hide_unless_administrator /, css
     assert_match /\.hide_unless_moderator /, css
 
-    @user = users(:moderator_user)
+    @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_5 /, css
-    assert_match /\.show_if_user_5 /, css
+    assert_match /\.hide_if_user_#{@user.id} /, css
+    assert_match /\.show_if_user_#{@user.id} /, css
     assert_match /\.hide_unless_administrator /, css
     assert_no_match /\.hide_unless_moderator /, css
 
-    @user = users(:administrator_user)
+    @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_6 /, css
-    assert_match /\.show_if_user_6 /, css
+    assert_match /\.hide_if_user_#{@user.id} /, css
+    assert_match /\.show_if_user_#{@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_equal "<div class=\"hide_unless_logged_in\">Test 1</div>", html
+    assert_dom_equal "<div class=\"hide_unless_logged_in\">Test 1</div>", html
 
     html = if_logged_in(:span) { "Test 2" }
-    assert_equal "<span class=\"hide_unless_logged_in\">Test 2</span>", html
+    assert_dom_equal "<span class=\"hide_unless_logged_in\">Test 2</span>", html
   end
 
   def test_if_not_logged_in
     html = if_not_logged_in { "Test 1" }
-    assert_equal "<div class=\"hide_if_logged_in\">Test 1</div>", html
+    assert_dom_equal "<div class=\"hide_if_logged_in\">Test 1</div>", html
 
     html = if_not_logged_in(:span) { "Test 2" }
-    assert_equal "<span class=\"hide_if_logged_in\">Test 2</span>", html
+    assert_dom_equal "<span class=\"hide_if_logged_in\">Test 2</span>", html
   end
 
   def test_if_user
-    html = if_user(users(:normal_user)) { "Test 1" }
-    assert_equal "<div class=\"hidden show_if_user_1\">Test 1</div>", html
+    user = create(:user)
 
-    html = if_user(users(:normal_user), :span) { "Test 2" }
-    assert_equal "<span class=\"hidden show_if_user_1\">Test 2</span>", html
+    html = if_user(user) { "Test 1" }
+    assert_dom_equal "<div class=\"hidden show_if_user_#{user.id}\">Test 1</div>", html
+
+    html = if_user(user, :span) { "Test 2" }
+    assert_dom_equal "<span class=\"hidden show_if_user_#{user.id}\">Test 2</span>", html
 
     html = if_user(nil) { "Test 3" }
     assert_nil html
@@ -120,25 +124,27 @@ class ApplicationHelperTest < ActionView::TestCase
   end
 
   def test_unless_user
-    html = unless_user(users(:normal_user)) { "Test 1" }
-    assert_equal "<div class=\"hide_if_user_1\">Test 1</div>", html
+    user = create(:user)
+
+    html = unless_user(user) { "Test 1" }
+    assert_dom_equal "<div class=\"hide_if_user_#{user.id}\">Test 1</div>", html
 
-    html = unless_user(users(:normal_user), :span) { "Test 2" }
-    assert_equal "<span class=\"hide_if_user_1\">Test 2</span>", html
+    html = unless_user(user, :span) { "Test 2" }
+    assert_dom_equal "<span class=\"hide_if_user_#{user.id}\">Test 2</span>", html
 
     html = unless_user(nil) { "Test 3" }
-    assert_equal "<div>Test 3</div>", html
+    assert_dom_equal "<div>Test 3</div>", html
 
     html = unless_user(nil, :span) { "Test 4" }
-    assert_equal "<span>Test 4</span>", html
+    assert_dom_equal "<span>Test 4</span>", html
   end
 
   def test_if_administrator
     html = if_administrator { "Test 1" }
-    assert_equal "<div class=\"hide_unless_administrator\">Test 1</div>", html
+    assert_dom_equal "<div class=\"hide_unless_administrator\">Test 1</div>", html
 
     html = if_administrator(:span) { "Test 2" }
-    assert_equal "<span class=\"hide_unless_administrator\">Test 2</span>", html
+    assert_dom_equal "<span class=\"hide_unless_administrator\">Test 2</span>", html
   end
 
   def test_richtext_area
@@ -164,24 +170,22 @@ class ApplicationHelperTest < ActionView::TestCase
 
   def test_friendly_date
     date = friendly_date(Time.new(2014, 3, 5, 18, 58, 23))
-    assert_match /^<span title=" *5 March 2014 at 18:58">.*<\/span>$/, date
+    assert_match %r{^<span title=" *5 March 2014 at 18:58">.*</span>$}, date
 
     date = friendly_date(Time.now - 1.hour)
-    assert_match /^<span title=".*">about 1 hour<\/span>$/, date
+    assert_match %r{^<span title=".*">about 1 hour</span>$}, date
 
     date = friendly_date(Time.now - 2.days)
-    assert_match /^<span title=".*">2 days<\/span>$/, date
+    assert_match %r{^<span title=".*">2 days</span>$}, date
 
     date = friendly_date(Time.now - 3.weeks)
-    assert_match /^<span title=".*">21 days<\/span>$/, date
+    assert_match %r{^<span title=".*">21 days</span>$}, date
 
     date = friendly_date(Time.now - 4.months)
-    assert_match /^<span title=".*">4 months<\/span>$/, date
+    assert_match %r{^<span title=".*">4 months</span>$}, date
   end
 
-  def test_body_class
-  end
+  def test_body_class; end
 
-  def test_current_page_class
-  end
+  def test_current_page_class; end
 end