aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/template
diff options
context:
space:
mode:
authorwycats <wycats@gmail.com>2010-03-04 15:07:26 -0800
committerwycats <wycats@gmail.com>2010-03-04 15:07:26 -0800
commit7c785592ec9a9d7a73978d133dfa03b5b9b78fdc (patch)
tree8a8ead41e0feb7238854ba6238e7c07e6e03b70a /actionpack/test/template
parent70916f6a9ce190cae5c545da552bb96f05ee4914 (diff)
downloadrails-7c785592ec9a9d7a73978d133dfa03b5b9b78fdc.tar.gz
rails-7c785592ec9a9d7a73978d133dfa03b5b9b78fdc.tar.bz2
rails-7c785592ec9a9d7a73978d133dfa03b5b9b78fdc.zip
Safely cleans up a test to avoid relying on a particular test order
Diffstat (limited to 'actionpack/test/template')
-rw-r--r--actionpack/test/template/test_case_test.rb33
1 files changed, 23 insertions, 10 deletions
diff --git a/actionpack/test/template/test_case_test.rb b/actionpack/test/template/test_case_test.rb
index 12807baaa7..87408d8475 100644
--- a/actionpack/test/template/test_case_test.rb
+++ b/actionpack/test/template/test_case_test.rb
@@ -89,16 +89,23 @@ module ActionView
end
test "helper class that is being tested is always included in view instance" do
- self.class.helper_class.module_eval do
- def render_from_helper
- render :partial => 'customer', :collection => @customers
+ # This ensure is a hidious hack to deal with these tests bleeding
+ # methods between eachother
+ begin
+ self.class.helper_class.module_eval do
+ def render_from_helper
+ render :partial => 'customer', :collection => @customers
+ end
end
- end
- TestController.stubs(:controller_path).returns('test')
+ TestController.stubs(:controller_path).returns('test')
- @customers = [stub(:name => 'Eloy'), stub(:name => 'Manfred')]
- assert_match /Hello: EloyHello: Manfred/, render(:partial => 'test/from_helper')
+ @customers = [stub(:name => 'Eloy'), stub(:name => 'Manfred')]
+ assert_match /Hello: EloyHello: Manfred/, render(:partial => 'test/from_helper')
+
+ ensure
+ self.class.helper_class.remove_method :render_from_helper
+ end
end
test "no additional helpers should shared across test cases" do
@@ -147,10 +154,16 @@ module ActionView
end
test "is able to make methods available to the view" do
- _helpers.module_eval do
- def render_from_helper; from_test_case end
+ # This ensure is a hidious hack to deal with these tests bleeding
+ # methods between eachother
+ begin
+ _helpers.module_eval do
+ def render_from_helper; from_test_case end
+ end
+ assert_equal 'Word!', render(:partial => 'test/from_helper')
+ ensure
+ _helpers.remove_method :render_from_helper
end
- assert_equal 'Word!', render(:partial => 'test/from_helper')
end
def from_test_case; 'Word!'; end