diff options
author | wycats <wycats@gmail.com> | 2010-03-04 15:07:26 -0800 |
---|---|---|
committer | wycats <wycats@gmail.com> | 2010-03-04 15:07:26 -0800 |
commit | 7c785592ec9a9d7a73978d133dfa03b5b9b78fdc (patch) | |
tree | 8a8ead41e0feb7238854ba6238e7c07e6e03b70a /actionpack/test/template | |
parent | 70916f6a9ce190cae5c545da552bb96f05ee4914 (diff) | |
download | rails-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.rb | 33 |
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 |