aboutsummaryrefslogblamecommitdiffstats
path: root/actionpack/test/controller/render_js_test.rb
blob: 02bc0c6adec49de346d5cf0605d671d85a142bdd (plain) (tree)
1
2
3
4
5
6
7
8
9

                             

                                
 


                                               
 
                            
            


                               
                                 

       
                    
                               
       
     
 

                      
                            
                                           
                                                 
                                                        
     
 
                                   

                                              
     








                                                                              
   
# frozen_string_literal: true

require "abstract_unit"
require "controller/fake_models"

class RenderJSTest < ActionController::TestCase
  class TestController < ActionController::Base
    protect_from_forgery

    def self.controller_path
      "test"
    end

    def render_vanilla_js_hello
      render js: "alert('hello')"
    end

    def show_partial
      render partial: "partial"
    end
  end

  tests TestController

  def test_render_vanilla_js
    get :render_vanilla_js_hello, xhr: true
    assert_equal "alert('hello')", @response.body
    assert_equal "text/javascript", @response.media_type
  end

  def test_should_render_js_partial
    get :show_partial, format: "js", xhr: true
    assert_equal "partial js", @response.body
  end

  def test_should_not_trigger_content_type_deprecation
    original = ActionDispatch::Response.return_only_media_type_on_content_type
    ActionDispatch::Response.return_only_media_type_on_content_type = true

    assert_not_deprecated { get :render_vanilla_js_hello, xhr: true }
  ensure
    ActionDispatch::Response.return_only_media_type_on_content_type = original
  end
end