Changeset 7403
- Timestamp:
- 09/03/07 00:18:30 (1 year ago)
- Files:
-
- trunk/actionpack/examples/benchmark.rb (modified) (1 diff)
- trunk/actionpack/lib/action_controller/base.rb (modified) (12 diffs)
- trunk/actionpack/lib/action_controller/benchmarking.rb (modified) (1 diff)
- trunk/actionpack/lib/action_controller/caching.rb (modified) (1 diff)
- trunk/actionpack/lib/action_controller/components.rb (modified) (1 diff)
- trunk/actionpack/lib/action_controller/layout.rb (modified) (3 diffs)
- trunk/actionpack/lib/action_controller/rescue.rb (modified) (1 diff)
- trunk/actionpack/lib/action_view/partials.rb (modified) (4 diffs)
- trunk/actionpack/test/controller/action_pack_assertions_test.rb (modified) (10 diffs)
- trunk/actionpack/test/controller/components_test.rb (modified) (3 diffs)
- trunk/actionpack/test/controller/cookie_test.rb (modified) (1 diff)
- trunk/actionpack/test/controller/deprecation/deprecated_base_methods_test.rb (modified) (2 diffs)
- trunk/actionpack/test/controller/filters_test.rb (modified) (2 diffs)
- trunk/actionpack/test/controller/new_render_test.rb (modified) (5 diffs)
- trunk/actionpack/test/controller/render_test.rb (modified) (9 diffs)
- trunk/actionpack/test/controller/session_management_test.rb (modified) (3 diffs)
- trunk/actionpack/test/controller/view_paths_test.rb (modified) (1 diff)
- trunk/actionpack/test/fixtures/test/_hash_greeting.erb (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/actionpack/examples/benchmark.rb
r6120 r7403 8 8 class BenchmarkController < ActionController::Base 9 9 def message 10 render _text"hello world"10 render :text => "hello world" 11 11 end 12 12 trunk/actionpack/lib/action_controller/base.rb
r7331 r7403 15 15 end 16 16 class MissingTemplate < ActionControllerError #:nodoc: 17 end 18 class RenderError < ActionControllerError #:nodoc: 17 19 end 18 20 class RoutingError < ActionControllerError #:nodoc: … … 613 615 self.class.view_paths 614 616 end 615 617 616 618 protected 617 619 # Renders the content that will be returned to the browser as the response body. … … 632 634 # # but with a custom layout 633 635 # render :action => "long_goal", :layout => "spectacular" 634 #635 # _Deprecation_ _notice_: This used to have the signatures <tt>render_action("action", status = 200)</tt>,636 # <tt>render_without_layout("controller/action", status = 200)</tt>, and637 # <tt>render_with_layout("controller/action", status = 200, layout)</tt>.638 636 # 639 637 # === Rendering partials … … 703 701 # render :file => "some/template", :use_full_path => true 704 702 # 705 # _Deprecation_ _notice_: This used to have the signature <tt>render_file(path, status = 200)</tt>706 #707 703 # === Rendering text 708 704 # … … 730 726 # render :text => proc { |response, output| output.write("Hello from code!") } 731 727 # 732 # _Deprecation_ _notice_: This used to have the signature <tt>render_text("text", status = 200)</tt>733 #734 728 # === Rendering JSON 735 729 # … … 760 754 # # Renders "hello david" 761 755 # render :inline => "<%= 'hello ' + name %>", :locals => { :name => "david" } 762 #763 # _Deprecation_ _notice_: This used to have the signature <tt>render_template(template, status = 200, type = :rhtml)</tt>764 756 # 765 757 # === Rendering inline JavaScriptGenerator page updates … … 778 770 # 779 771 # render :xml => post.to_xml, :status => :created, :location => post_url(post) 780 def render(options = nil, deprecated_status = nil,&block) #:doc:772 def render(options = nil, &block) #:doc: 781 773 raise DoubleRenderError, "Can only render or redirect once per action" if performed? 782 774 783 775 if options.nil? 784 return render_f ile(default_template_name, deprecated_status, true)776 return render_for_file(default_template_name, nil, true) 785 777 else 786 # Backwards compatibility 787 unless options.is_a?(Hash) 788 if options == :update 789 options = { :update => true } 790 else 791 ActiveSupport::Deprecation.warn( 792 "You called render('#{options}'), which is a deprecated API call. Instead you use " + 793 "render :file => #{options}. Calling render with just a string will be removed from Rails 2.0.", 794 caller 795 ) 796 797 return render_file(options, deprecated_status, true) 798 end 778 if options == :update 779 options = { :update => true } 780 elsif !options.is_a?(Hash) 781 raise RenderError, "You called render with invalid options : #{options}" 799 782 end 800 783 end … … 809 792 810 793 if text = options[:text] 811 render_ text(text, options[:status])794 render_for_text(text, options[:status]) 812 795 813 796 else 814 797 if file = options[:file] 815 render_f ile(file, options[:status], options[:use_full_path], options[:locals] || {})798 render_for_file(file, options[:status], options[:use_full_path], options[:locals] || {}) 816 799 817 800 elsif template = options[:template] 818 render_f ile(template, options[:status], true)801 render_for_file(template, options[:status], true) 819 802 820 803 elsif inline = options[:inline] 821 render_template(inline, options[:status], options[:type], options[:locals] || {}) 804 add_variables_to_assigns 805 render_for_text(@template.render_template(options[:type] || :erb, inline, nil, options[:locals] || {}), options[:status]) 822 806 823 807 elsif action_name = options[:action] 824 ActiveSupport::Deprecation.silence do 825 render_action(action_name, options[:status], options[:layout]) 826 end 808 template = default_template_name(action_name.to_s) 809 if options[:layout] && !template_exempt_from_layout?(template) 810 render_with_a_layout(:file => template, :status => options[:status], :use_full_path => true, :layout => true) 811 else 812 render_with_no_layout(:file => template, :status => options[:status], :use_full_path => true) 813 end 827 814 828 815 elsif xml = options[:xml] 829 render_xml(xml, options[:status]) 816 response.content_type = Mime::XML 817 render_for_text(xml.respond_to?(:to_xml) ? xml.to_xml : xml, options[:status]) 830 818 831 819 elsif json = options[:json] 832 render_json(json, options[:callback], options[:status]) 820 json = "#{options[:callback]}(#{json})" unless options[:callback].blank? 821 response.content_type = Mime::JSON 822 render_for_text(json, options[:status]) 833 823 834 824 elsif partial = options[:partial] 835 825 partial = default_template_name if partial == true 826 add_variables_to_assigns 836 827 if collection = options[:collection] 837 render_partial_collection(partial, collection, options[:spacer_template], options[:locals], options[:status]) 828 render_for_text(@template.send(:render_partial_collection, partial, collection, options[:spacer_template], options[:locals]), 829 options[:status]) 838 830 else 839 render_partial(partial, ActionView::Base::ObjectWrapper.new(options[:object]), options[:locals], options[:status]) 831 render_for_text(@template.send(:render_partial, partial, ActionView::Base::ObjectWrapper.new(options[:object]), options[:locals]), 832 options[:status]) 840 833 end 841 834 … … 845 838 846 839 generator = ActionView::Helpers::PrototypeHelper::JavaScriptGenerator.new(@template, &block) 847 render_javascript(generator.to_s) 840 response.content_type = Mime::JS 841 render_for_text(generator.to_s) 848 842 849 843 elsif options[:nothing] 850 844 # Safari doesn't pass the headers of the return if the response is zero length 851 render_ text(" ", options[:status])845 render_for_text(" ", options[:status]) 852 846 853 847 else 854 render_file(default_template_name, options[:status], true) 855 848 render_for_file(default_template_name, options[:status], true) 856 849 end 857 850 end … … 861 854 # of sending it as the response body to the browser. 862 855 def render_to_string(options = nil, &block) #:doc: 863 ActiveSupport::Deprecation.silence { render(options, &block) }856 render(options, &block) 864 857 ensure 865 858 erase_render_results … … 867 860 reset_variables_added_to_assigns 868 861 end 869 870 def render_action(action_name, status = nil, with_layout = true) #:nodoc:871 template = default_template_name(action_name.to_s)872 if with_layout && !template_exempt_from_layout?(template)873 render_with_layout(:file => template, :status => status, :use_full_path => true, :layout => true)874 else875 render_without_layout(:file => template, :status => status, :use_full_path => true)876 end877 end878 879 def render_file(template_path, status = nil, use_full_path = false, locals = {}) #:nodoc:880 add_variables_to_assigns881 assert_existence_of_template_file(template_path) if use_full_path882 logger.info("Rendering #{template_path}" + (status ? " (#{status})" : '')) if logger883 render_text(@template.render_file(template_path, use_full_path, locals), status)884 end885 886 def render_template(template, status = nil, type = :erb, local_assigns = {}) #:nodoc:887 add_variables_to_assigns888 render_text(@template.render_template(type, template, nil, local_assigns), status)889 end890 891 def render_text(text = nil, status = nil, append_response = false) #:nodoc:892 @performed_render = true893 894 response.headers['Status'] = interpret_status(status || DEFAULT_RENDER_STATUS_CODE)895 896 if append_response897 response.body ||= ''898 response.body << text.to_s899 else900 response.body = text.is_a?(Proc) ? text : text.to_s901 end902 end903 904 def render_javascript(javascript, status = nil, append_response = true) #:nodoc:905 response.content_type = Mime::JS906 render_text(javascript, status, append_response)907 end908 909 def render_xml(xml, status = nil) #:nodoc:910 response.content_type = Mime::XML911 render_text(xml.respond_to?(:to_xml) ? xml.to_xml : xml, status)912 end913 914 def render_json(json, callback = nil, status = nil) #:nodoc:915 json = "#{callback}(#{json})" unless callback.blank?916 917 response.content_type = Mime::JSON918 render_text(json, status)919 end920 921 def render_nothing(status = nil) #:nodoc:922 render_text(' ', status)923 end924 925 def render_partial(partial_path = default_template_name, object = nil, local_assigns = nil, status = nil) #:nodoc:926 add_variables_to_assigns927 render_text(@template.send(:render_partial, partial_path, object, local_assigns), status)928 end929 930 def render_partial_collection(partial_name, collection, partial_spacer_template = nil, local_assigns = nil, status = nil) #:nodoc:931 add_variables_to_assigns932 render_text(@template.send(:render_partial_collection, partial_name, collection, partial_spacer_template, local_assigns), status)933 end934 935 def render_with_layout(template_name = default_template_name, status = nil, layout = nil) #:nodoc:936 render_with_a_layout(template_name, status, layout)937 end938 939 def render_without_layout(template_name = default_template_name, status = nil) #:nodoc:940 render_with_no_layout(template_name, status)941 end942 943 862 944 863 # Return a response that has no content (merely headers). The options … … 1102 1021 1103 1022 private 1023 1024 def render_for_file(template_path, status = nil, use_full_path = false, locals = {}) #:nodoc: 1025 add_variables_to_assigns 1026 assert_existence_of_template_file(template_path) if use_full_path 1027 logger.info("Rendering #{template_path}" + (status ? " (#{status})" : '')) if logger 1028 render_for_text(@template.render_file(template_path, use_full_path, locals), status) 1029 end 1030 1031 def render_for_text(text = nil, status = nil, append_response = false) #:nodoc: 1032 @performed_render = true 1033 1034 response.headers['Status'] = interpret_status(status || DEFAULT_RENDER_STATUS_CODE) 1035 1036 if append_response 1037 response.body ||= '' 1038 response.body << text.to_s 1039 else 1040 response.body = text.is_a?(Proc) ? text : text.to_s 1041 end 1042 end 1043 1104 1044 def initialize_template_class(response) 1105 1045 raise "You must assign a template class through ActionController.template_class= before processing a request" unless @@template_class trunk/actionpack/lib/action_controller/benchmarking.rb
r6396 r7403 44 44 def render_with_benchmark(options = nil, deprecated_status = nil, &block) 45 45 unless logger 46 render_without_benchmark(options, deprecated_status,&block)46 render_without_benchmark(options, &block) 47 47 else 48 48 db_runtime = ActiveRecord::Base.connection.reset_runtime if Object.const_defined?("ActiveRecord") && ActiveRecord::Base.connected? 49 49 50 50 render_output = nil 51 @rendering_runtime = Benchmark::measure{ render_output = render_without_benchmark(options, deprecated_status,&block) }.real51 @rendering_runtime = Benchmark::measure{ render_output = render_without_benchmark(options, &block) }.real 52 52 53 53 if Object.const_defined?("ActiveRecord") && ActiveRecord::Base.connected? trunk/actionpack/lib/action_controller/caching.rb
r7346 r7403 233 233 controller.rendered_action_cache = true 234 234 set_content_type!(controller, cache_path.extension) 235 controller.send(:render_ text, cache)235 controller.send(:render_for_text, cache) 236 236 false 237 237 else trunk/actionpack/lib/action_controller/components.rb
r6403 r7403 79 79 def render_component(options) #:doc: 80 80 component_logging(options) do 81 render_ text(component_response(options, true).body, response.headers["Status"])81 render_for_text(component_response(options, true).body, response.headers["Status"]) 82 82 end 83 83 end trunk/actionpack/lib/action_controller/layout.rb
r7321 r7403 234 234 235 235 protected 236 def render_with_a_layout(options = nil, deprecated_status = nil, deprecated_layout = nil,&block) #:nodoc:236 def render_with_a_layout(options = nil, &block) #:nodoc: 237 237 template_with_options = options.is_a?(Hash) 238 238 239 if apply_layout?(template_with_options, options) && (layout = pick_layout(template_with_options, options , deprecated_layout))239 if apply_layout?(template_with_options, options) && (layout = pick_layout(template_with_options, options)) 240 240 assert_existence_of_template_file(layout) 241 241 … … 243 243 logger.info("Rendering template within #{layout}") if logger 244 244 245 if template_with_options 246 content_for_layout = render_with_no_layout(options, &block) 247 deprecated_status = options[:status] || deprecated_status 248 else 249 content_for_layout = render_with_no_layout(options, deprecated_status, &block) 250 end 251 245 content_for_layout = render_with_no_layout(options, &block) 252 246 erase_render_results 253 247 add_variables_to_assigns 254 248 @template.instance_variable_set("@content_for_layout", content_for_layout) 255 249 response.layout = layout 256 render_ text(@template.render_file(layout, true), deprecated_status)250 render_for_text(@template.render_file(layout, true)) 257 251 else 258 render_with_no_layout(options, deprecated_status,&block)252 render_with_no_layout(options, &block) 259 253 end 260 254 end … … 273 267 end 274 268 275 def pick_layout(template_with_options, options, deprecated_layout) 276 if deprecated_layout 277 deprecated_layout 278 elsif template_with_options 269 def pick_layout(template_with_options, options) 270 if template_with_options 279 271 case layout = options[:layout] 280 272 when FalseClass trunk/actionpack/lib/action_controller/rescue.rb
r6862 r7403 126 126 127 127 response.content_type = Mime::HTML 128 render_f ile(rescues_path("layout"), response_code_for_rescue(exception))128 render_for_file(rescues_path("layout"), response_code_for_rescue(exception)) 129 129 end 130 130 trunk/actionpack/lib/action_view/partials.rb
r7261 r7403 104 104 module Partials 105 105 private 106 # Deprecated, use render :partial 107 def render_partial(partial_path, local_assigns = nil, deprecated_local_assigns = nil) #:nodoc: 106 def render_partial(partial_path, object_assigns = nil, local_assigns = nil) #:nodoc: 108 107 case partial_path 109 108 when String, Symbol, NilClass 110 109 path, partial_name = partial_pieces(partial_path) 111 object = extracting_object(partial_name, local_assigns, deprecated_local_assigns) 112 local_assigns = extract_local_assigns(local_assigns, deprecated_local_assigns) 110 object = extracting_object(partial_name, object_assigns) 113 111 local_assigns = local_assigns ? local_assigns.clone : {} 114 112 add_counter_to_local_assigns!(partial_name, local_assigns) … … 126 124 path = ActionController::RecordIdentifier.partial_path(partial_path.first) 127 125 collection = partial_path 128 render_partial_collection(path, collection, nil, local_assigns.value)126 render_partial_collection(path, collection, nil, object_assigns.value) 129 127 else 130 128 "" … … 133 131 render_partial( 134 132 ActionController::RecordIdentifier.partial_path(partial_path), 135 local_assigns, deprecated_local_assigns)133 object_assigns, local_assigns) 136 134 end 137 135 end 138 136 139 # Deprecated, use render :partial, :collection140 137 def render_partial_collection(partial_name, collection, partial_spacer_template = nil, local_assigns = nil) #:nodoc: 141 138 collection_of_partials = Array.new … … 175 172 end 176 173 177 def extracting_object(partial_name, local_assigns, deprecated_local_assigns)174 def extracting_object(partial_name, object_assigns) 178 175 variable_name = partial_variable_name(partial_name) 179 if local_assigns.is_a?(Hash) || local_assigns.nil?176 if object_assigns.nil? 180 177 controller.instance_variable_get("@#{variable_name}") 181 178 else 182 # deprecated form where object could be passed in as second parameter 183 local_assigns 179 object_assigns 184 180 end 185 end186 187 def extract_local_assigns(local_assigns, deprecated_local_assigns)188 local_assigns.is_a?(Hash) ? local_assigns : deprecated_local_assigns189 181 end 190 182 trunk/actionpack/test/controller/action_pack_assertions_test.rb
r6722 r7403 8 8 9 9 # a standard template 10 def hello_world() render "test/hello_world"; end10 def hello_world() render :template => "test/hello_world"; end 11 11 12 12 # a standard template 13 def hello_xml_world() render "test/hello_xml_world"; end13 def hello_xml_world() render :template => "test/hello_xml_world"; end 14 14 15 15 # a redirect to an internal location … … 39 39 def flash_me 40 40 flash['hello'] = 'my name is inigo montoya...' 41 render _text"Inconceivable!"41 render :text => "Inconceivable!" 42 42 end 43 43 … … 45 45 def flash_me_naked 46 46 flash.clear 47 render _text"wow!"47 render :text => "wow!" 48 48 end 49 49 … … 55 55 56 56 def render_based_on_parameters 57 render _text"Mr. #{params[:name]}"57 render :text => "Mr. #{params[:name]}" 58 58 end 59 59 60 60 def render_url 61 render _text"<div>#{url_for(:action => 'flash_me', :only_path => true)}</div>"61 render :text => "<div>#{url_for(:action => 'flash_me', :only_path => true)}</div>" 62 62 end 63 63 … … 69 69 def session_stuffing 70 70 session['xmas'] = 'turkey' 71 render _text"ho ho ho"71 render :text => "ho ho ho" 72 72 end 73 73 … … 75 75 def raise_on_get 76 76 raise "get" if request.get? 77 render _text"request method: #{request.env['REQUEST_METHOD']}"77 render :text => "request method: #{request.env['REQUEST_METHOD']}" 78 78 end 79 79 … … 81 81 def raise_on_post 82 82 raise "post" if request.post? 83 render _text"request method: #{request.env['REQUEST_METHOD']}"83 render :text => "request method: #{request.env['REQUEST_METHOD']}" 84 84 end 85 85 … … 311 311 assert !@response.rendered_with_file? 312 312 313 assert_deprecated(/render/) { process :hello_world }313 process :hello_world 314 314 assert @response.rendered_with_file? 315 315 assert 'hello_world', @response.rendered_file … … 462 462 463 463 def test_rendering_xml_sets_content_type 464 assert_deprecated(/render/) { process :hello_xml_world }464 process :hello_xml_world 465 465 assert_equal('application/xml; charset=utf-8', @response.headers['type']) 466 466 end … … 468 468 def test_rendering_xml_respects_content_type 469 469 @response.headers['type'] = 'application/pdf' 470 assert_deprecated(/render/) { process :hello_xml_world }470 process :hello_xml_world 471 471 assert_equal('application/pdf; charset=utf-8', @response.headers['type']) 472 472 end trunk/actionpack/test/controller/components_test.rb
r6875 r7403 15 15 16 16 def calling_from_template 17 render _template"Ring, ring: <%= render_component(:controller => 'callee', :action => 'being_called') %>"17 render :inline => "Ring, ring: <%= render_component(:controller => 'callee', :action => 'being_called') %>" 18 18 end 19 19 20 20 def internal_caller 21 render _template"Are you there? <%= render_component(:action => 'internal_callee') %>"21 render :inline => "Are you there? <%= render_component(:action => 'internal_callee') %>" 22 22 end 23 23 24 24 def internal_callee 25 render _text"Yes, ma'am"25 render :text => "Yes, ma'am" 26 26 end 27 27 … … 39 39 40 40 def calling_redirected_as_string 41 render _template"<%= render_component(:controller => 'callee', :action => 'redirected') %>"41 render :inline => "<%= render_component(:controller => 'callee', :action => 'redirected') %>" 42 42 end 43 43 … … 47 47 class CalleeController < ActionController::Base 48 48 def being_called 49 render _text"#{params[:name] || "Lady"} of the House, speaking"49 render :text => "#{params[:name] || "Lady"} of the House, speaking" 50 50 end 51 51 52 52 def blowing_up 53 render _text "It's game over, man, just game over, man!", "500 Internal Server Error"53 render :text => "It's game over, man, just game over, man!", :status => 500 54 54 end 55 55 trunk/actionpack/test/controller/cookie_test.rb
r7160 r7403 34 34 def delete_cookie_with_path 35 35 cookies.delete("user_name", :path => '/beaten') 36 render _text"hello world"36 render :text => "hello world" 37 37 end 38 38 trunk/actionpack/test/controller/deprecation/deprecated_base_methods_test.rb
r6412 r7403 3 3 class DeprecatedBaseMethodsTest < Test::Unit::TestCase 4 4 class Target < ActionController::Base 5 def deprecated_render_parameters6 render "fun/games/hello_world"7 end8 5 9 6 def home_url(greeting) … … 26 23 end 27 24 28 def test_deprecated_render_parameters29 assert_deprecated("render('fun/games/hello_world')") do30 get :deprecated_render_parameters31 end32 33 assert_equal "Living in a nested world", @response.body34 end35 36 25 def test_log_error_silences_deprecation_warnings 37 26 get :raises_name_error trunk/actionpack/test/controller/filters_test.rb
r7177 r7403 235 235 236 236 def show 237 render _text"hello"237 render :text => "hello" 238 238 end 239 239 end … … 272 272 273 273 def foo 274 render _text'foo'274 render :text => 'foo' 275 275 end 276 276 277 277 def bar 278 render _text'bar'278 render :text => 'bar' 279 279 end 280 280 trunk/actionpack/test/controller/new_render_test.rb
r7261 r7403 153 153 render :partial => "hash_object", :object => {:first_name => "Sam"} 154 154 end 155 155 156 def partial_hash_collection 157 render :partial => "hash_object", :collection => [ {:first_name => "Pratik"}, {:first_name => "Amy"} ] 158 end 159 160 def partial_hash_collection_with_locals 161 render :partial => "hash_greeting", :collection => [ {:first_name => "Pratik"}, {:first_name => "Amy"} ], :locals => { :greeting => "Hola" } 162 end 163 156 164 def partial_with_implicit_local_assignment 157 165 @customer = Customer.new("Marcel") … … 165 173 def hello_in_a_string 166 174 @customers = [ Customer.new("david"), Customer.new("mary") ] 167 render :text => "How's there? #{render_to_string("test/list")}"175 render :text => "How's there? " << render_to_string(:template => "test/list") 168 176 end 169 177 … … 204 212 205 213 def render_with_explicit_template 206 render "test/hello_world"214 render :template => "test/hello_world" 207 215 end 208 216 … … 623 631 624 632 def test_render_with_explicit_template 625 assert_deprecated(/render/) { get :render_with_explicit_template }633 get :render_with_explicit_template 626 634 assert_response :success 627 635 end … … 683 691 get :partial_with_hash_object 684 692 assert_equal "Sam", @response.body 693 end 694 695 def test_hash_partial_collection 696 get :partial_hash_collection 697 assert_equal "PratikAmy", @response.body 698 end 699 700 def test_partial_hash_collection_with_locals 701 get :partial_hash_collection_with_locals 702 assert_equal "Hola: PratikHola: Amy", @response.body 685 703 end 686 704 trunk/actionpack/test/controller/render_test.rb
r7309 r7403 17 17 18 18 def render_hello_world 19 render "test/hello_world"19 render :template => "test/hello_world" 20 20 end 21 21 22 22 def render_hello_world_from_variable 23 23 @person = "david" 24 render _text"hello #{@person}"24 render :text => "hello #{@person}" 25 25 end 26 26 27 27 def render_action_hello_world 28 render _action"hello_world"28 render :action => "hello_world" 29 29 end 30 30 31 31 def render_action_hello_world_with_symbol 32 render _action:hello_world32 render :action => :hello_world 33 33 end 34 34 35 35 def render_text_hello_world 36 render _text"hello world"36 render :text => "hello world" 37 37 end 38 38 39 39 def render_json_hello_world 40 render _json({:hello => 'world'}.to_json)40 render :json => {:hello => 'world'}.to_json 41 41 end 42 42 43 43 def render_json_hello_world_with_callback 44 render _json({:hello => 'world'}.to_json, 'alert')44 render :json => {:hello => 'world'}.to_json, :callback => 'alert' 45 45 end 46 46 … … 50 50 51 51 def render_custom_code 52 render_text "hello world", "404 Moved" 53 end 54 55 def render_text_appendix 56 render_text "hello world" 57 render_text ", goodbye!", "404 Not Found", true 52 render :text => "hello world", :status => 404 58 53 end 59 54 60 55 def render_nothing_with_appendix 61 render_text "appended", nil, true 56 render :text => "appended" 57 end 58 59 def render_invalid_args 60 render("test/hello") 62 61 end 63 62 64 63 def render_xml_hello 65 64 @name = "David" 66 render "test/hello"65 render :template => "test/hello" 67 66 end 68 67 … … 76 75 77 76 def layout_test 78 render _action"hello_world"77 render :action => "hello_world" 79 78 end 80 79 81 80 def builder_layout_test 82 render _action"hello"81 render :action => "hello" 83 82 end 84 83 85 84 def builder_partial_test 86 render _action"hello_world_container"85 render :action => "hello_world_container" 87 86 end 88 87 … … 90 89 @test_unchanged = 'hello' 91 90 @customers = [ Customer.new("david"), Customer.new("mary") ] 92 render _action"list"91 render :action => "list" 93 92 end 94 93 95 94 def partial_only 96 render _partial95 render :partial => true 97 96 end 98 97 99 98 def hello_in_a_string 100 99 @customers = [ Customer.new("david"), Customer.new("mary") ] 101 render _text "How's there? #{render_to_string("test/list")}"100 render :text => "How's there? " + render_to_string(:template => "test/list") 102 101 end 103 102 104 103 def accessing_params_in_template 105 render _template"Hello: <%= params[:name] %>"104 render :inline => "Hello: <%= params[:name] %>" 106 105 end 107 106 … … 185 184 186 185 def test_do_with_render 187 assert_deprecated_render { get :render_hello_world }186 get :render_hello_world 188 187 assert_template "test/hello_world" 189 188 end … … 230 229 get :render_custom_code 231 230 assert_response 404 232 end 233 234 def test_do_with_render_text_appendix 235 get :render_text_appendix 236 assert_response 404 237 assert_equal 'hello world, goodbye!', @response.body 231 assert_equal 'hello world', @response.body 238 232 end 239 233 … … 243 237 assert_equal 'appended', @response.body 244 238 end 245 239 240 def test_attempt_to_render_with_invalid_arguments 241 assert_raises(ActionController::RenderError) { get :render_invalid_args } 242 end 243 246 244 def test_attempt_to_access_object_method 247 245 assert_raises(ActionController::UnknownAction, "No action responded to [clone]") { get :clone } … … 253 251 254 252 def test_render_xml 255 assert_deprecated_render { get :render_xml_hello }253 get :render_xml_hello 256 254 assert_equal "<html>\n <p>Hello David</p>\n<p>This is grand!</p>\n</html>\n", @response.body 257 255 end … … 417 415 418 416 protected 419 def assert_deprecated_render(&block) 420 assert_deprecated(/render/, &block) 421 end 422 417 423 418 def etag_for(text) 424 419 %("#{Digest::MD5.hexdigest(text)}") trunk/actionpack/test/controller/session_management_test.rb
r6253 r7403 6 6 7 7 def show 8 render _text"done"8 render :text => "done" 9 9 end 10 10 11 11 def tell 12 render _text"done"12 render :text => "done" 13 13 end 14 14 end … … 21 21 22 22 def show 23 render _text"done"23 render :text => "done" 24 24 end 25 25 26 26 def tell 27 render _text"done"27 render :text => "done" 28 28 end 29 29 30 30 def conditional 31 render _text">>>#{params[:ws]}<<<"31 render :text => ">>>#{params[:ws]}<<<" 32 32 end 33 33 end … … 37 37 38 38 def something 39 render _text"done"39 render :text => "done" 40 40 end 41 41 42 42 def another 43 render _text"done"43 render :text => "done" 44 44 end 45 45 end trunk/actionpack/test/controller/view_paths_test.rb
r7321 r7403 21 21 class Test::SubController < ActionController::Base 22 22 layout 'test/sub' 23 def hello_world; render 'test/hello_world'; end23 def hello_world; render(:template => 'test/hello_world'); end 24 24 end 25 25