]> git.openstreetmap.org Git - rails.git/blobdiff - test/controllers/diary_entry_controller_test.rb
Use 'def setup' instead of 'setup do', for consistency
[rails.git] / test / controllers / diary_entry_controller_test.rb
index 6ab40e18992a6cff95809204150f95299167ff49..4a8451e89b2a044edc3e212f8ee529327c61470e 100644 (file)
@@ -1,10 +1,15 @@
 require "test_helper"
 
 class DiaryEntryControllerTest < ActionController::TestCase
-  fixtures :users, :user_roles, :languages
+  fixtures :users, :user_roles
 
   include ActionView::Helpers::NumberHelper
 
+  def setup
+    # Create the default language for diary entries
+    create(:language, :code => "en")
+  end
+
   ##
   # test all routes which lead to this controller
   def test_routes
@@ -162,6 +167,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
     assert_equal new_language_code, UserPreference.where(:user_id => users(:normal_user).id, :k => "diary.default_language").first.v
 
     new_language_code = "de"
+    create(:language, :code => new_language_code)
 
     # Now try creating a diary entry in a different language
     assert_difference "DiaryEntry.count", 1 do
@@ -472,6 +478,8 @@ class DiaryEntryControllerTest < ActionController::TestCase
   end
 
   def test_list_language
+    create(:language, :code => "de")
+    create(:language, :code => "sl")
     diary_entry_en = create(:diary_entry, :language_code => "en")
     diary_entry_en2 = create(:diary_entry, :language_code => "en")
     diary_entry_de = create(:diary_entry, :language_code => "de")
@@ -490,6 +498,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
   end
 
   def test_rss
+    create(:language, :code => "de")
     create(:diary_entry, :language_code => "en")
     create(:diary_entry, :language_code => "en")
     create(:diary_entry, :language_code => "de")
@@ -506,6 +515,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
   end
 
   def test_rss_language
+    create(:language, :code => "de")
     create(:diary_entry, :language_code => "en")
     create(:diary_entry, :language_code => "en")
     create(:diary_entry, :language_code => "de")
@@ -521,6 +531,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
   #  end
 
   def test_rss_language_with_no_entries
+    create(:language, :code => "sl")
     create(:diary_entry, :language_code => "en")
 
     get :rss, :language => "sl", :format => :rss
@@ -552,6 +563,13 @@ class DiaryEntryControllerTest < ActionController::TestCase
     assert_response :not_found, "Should not be able to get a deleted users diary RSS"
   end
 
+  def test_rss_character_escaping
+    create(:diary_entry, :title => "<script>")
+    get :rss, :format => :rss
+
+    assert_match "<title>&lt;script&gt;</title>", response.body
+  end
+
   def test_view
     # Try a normal entry that should work
     diary_entry = create(:diary_entry, :user => users(:normal_user))