From b5b6a5e971fa2c1cba908e5cca4ee609b92fbb77 Mon Sep 17 00:00:00 2001
From: Jean-Philippe Lang <jp_lang@yahoo.fr>
Date: Sat, 19 Dec 2009 20:06:32 +0000
Subject: [PATCH] Speeds up very slow tests.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3197 e93f8b46-1217-0410-a6f0-8f06a7374b81
---
 test/unit/lib/redmine/hook_test.rb | 36 +++++++++++++++++-------------
 1 file changed, 21 insertions(+), 15 deletions(-)

diff --git a/test/unit/lib/redmine/hook_test.rb b/test/unit/lib/redmine/hook_test.rb
index de74f1e57..b8a977fb4 100644
--- a/test/unit/lib/redmine/hook_test.rb
+++ b/test/unit/lib/redmine/hook_test.rb
@@ -60,8 +60,6 @@ class Redmine::Hook::ManagerTest < ActiveSupport::TestCase
   
   def setup
     @hook_module = Redmine::Hook
-    @hook_helper = TestHookHelperController.new
-    @view_hook_helper = TestHookHelperView.new(RAILS_ROOT + '/app/views')
   end
   
   def teardown
@@ -86,64 +84,64 @@ class Redmine::Hook::ManagerTest < ActiveSupport::TestCase
   
   def test_call_hook
     @hook_module.add_listener(TestHook1)
-    assert_equal ['Test hook 1 listener.'], @hook_helper.call_hook(:view_layouts_base_html_head)
+    assert_equal ['Test hook 1 listener.'], hook_helper.call_hook(:view_layouts_base_html_head)
   end
   
   def test_call_hook_with_context
     @hook_module.add_listener(TestHook3)
     assert_equal ['Context keys: bar, controller, foo, project, request.'],
-                 @hook_helper.call_hook(:view_layouts_base_html_head, :foo => 1, :bar => 'a')
+                 hook_helper.call_hook(:view_layouts_base_html_head, :foo => 1, :bar => 'a')
   end
   
   def test_call_hook_with_multiple_listeners
     @hook_module.add_listener(TestHook1)
     @hook_module.add_listener(TestHook2)
-    assert_equal ['Test hook 1 listener.', 'Test hook 2 listener.'], @hook_helper.call_hook(:view_layouts_base_html_head)
+    assert_equal ['Test hook 1 listener.', 'Test hook 2 listener.'], hook_helper.call_hook(:view_layouts_base_html_head)
   end
   
   # Context: Redmine::Hook::Helper.call_hook default_url
   def test_call_hook_default_url_options
     @hook_module.add_listener(TestLinkToHook)
 
-    assert_equal ['<a href="/issues">Issues</a>'], @hook_helper.call_hook(:view_layouts_base_html_head)
+    assert_equal ['<a href="/issues">Issues</a>'], hook_helper.call_hook(:view_layouts_base_html_head)
   end
 
   # Context: Redmine::Hook::Helper.call_hook
   def test_call_hook_with_project_added_to_context
     @hook_module.add_listener(TestHook3)
-    assert_match /project/i, @hook_helper.call_hook(:view_layouts_base_html_head)[0]
+    assert_match /project/i, hook_helper.call_hook(:view_layouts_base_html_head)[0]
   end
   
   def test_call_hook_from_controller_with_controller_added_to_context
     @hook_module.add_listener(TestHook3)
-    assert_match /controller/i, @hook_helper.call_hook(:view_layouts_base_html_head)[0]
+    assert_match /controller/i, hook_helper.call_hook(:view_layouts_base_html_head)[0]
   end
     
   def test_call_hook_from_controller_with_request_added_to_context
     @hook_module.add_listener(TestHook3)
-    assert_match /request/i, @hook_helper.call_hook(:view_layouts_base_html_head)[0]
+    assert_match /request/i, hook_helper.call_hook(:view_layouts_base_html_head)[0]
   end
     
   def test_call_hook_from_view_with_project_added_to_context
     @hook_module.add_listener(TestHook3)
-    assert_match /project/i, @view_hook_helper.call_hook(:view_layouts_base_html_head)
+    assert_match /project/i, view_hook_helper.call_hook(:view_layouts_base_html_head)
   end
     
   def test_call_hook_from_view_with_controller_added_to_context
     @hook_module.add_listener(TestHook3)
-    assert_match /controller/i, @view_hook_helper.call_hook(:view_layouts_base_html_head)
+    assert_match /controller/i, view_hook_helper.call_hook(:view_layouts_base_html_head)
   end
     
   def test_call_hook_from_view_with_request_added_to_context
     @hook_module.add_listener(TestHook3)
-    assert_match /request/i, @view_hook_helper.call_hook(:view_layouts_base_html_head)
+    assert_match /request/i, view_hook_helper.call_hook(:view_layouts_base_html_head)
   end
 
   def test_call_hook_from_view_should_join_responses_with_a_space
     @hook_module.add_listener(TestHook1)
     @hook_module.add_listener(TestHook2)
     assert_equal 'Test hook 1 listener. Test hook 2 listener.',
-                 @view_hook_helper.call_hook(:view_layouts_base_html_head)
+                 view_hook_helper.call_hook(:view_layouts_base_html_head)
   end
 
   def test_call_hook_should_not_change_the_default_url_for_email_notifications
@@ -154,13 +152,21 @@ class Redmine::Hook::ManagerTest < ActiveSupport::TestCase
     mail = ActionMailer::Base.deliveries.last
  
     @hook_module.add_listener(TestLinkToHook)
-    @hook_helper.call_hook(:view_layouts_base_html_head)
+    hook_helper.call_hook(:view_layouts_base_html_head)
  
     ActionMailer::Base.deliveries.clear
     Mailer.deliver_issue_add(issue)
     mail2 = ActionMailer::Base.deliveries.last
  
     assert_equal mail.body, mail2.body
-   end
+  end
+  
+  def hook_helper
+    @hook_helper ||= TestHookHelperController.new
+  end
+
+  def view_hook_helper
+    @view_hook_helper ||= TestHookHelperView.new(RAILS_ROOT + '/log')
+  end
 end
 
-- 
GitLab