@@ -157,23 +157,23 @@ def with_controller_class(klass)
157157 #
158158 # @param path [String] The path to set for the current request.
159159 def with_request_url ( path )
160- old_request_path_info = __vc_test_helpers_request . path_info
161- old_request_path_parameters = __vc_test_helpers_request . path_parameters
162- old_request_query_parameters = __vc_test_helpers_request . query_parameters
163- old_request_query_string = __vc_test_helpers_request . query_string
160+ old_request_path_info = vc_test_request . path_info
161+ old_request_path_parameters = vc_test_request . path_parameters
162+ old_request_query_parameters = vc_test_request . query_parameters
163+ old_request_query_string = vc_test_request . query_string
164164 old_controller = defined? ( @vc_test_controller ) && @vc_test_controller
165165
166166 path , query = path . split ( "?" , 2 )
167- __vc_test_helpers_request . path_info = path
168- __vc_test_helpers_request . path_parameters = Rails . application . routes . recognize_path_with_request ( __vc_test_helpers_request , path , { } )
169- __vc_test_helpers_request . set_header ( "action_dispatch.request.query_parameters" , Rack ::Utils . parse_nested_query ( query ) )
170- __vc_test_helpers_request . set_header ( Rack ::QUERY_STRING , query )
167+ vc_test_request . path_info = path
168+ vc_test_request . path_parameters = Rails . application . routes . recognize_path_with_request ( vc_test_request , path , { } )
169+ vc_test_request . set_header ( "action_dispatch.request.query_parameters" , Rack ::Utils . parse_nested_query ( query ) )
170+ vc_test_request . set_header ( Rack ::QUERY_STRING , query )
171171 yield
172172 ensure
173- __vc_test_helpers_request . path_info = old_request_path_info
174- __vc_test_helpers_request . path_parameters = old_request_path_parameters
175- __vc_test_helpers_request . set_header ( "action_dispatch.request.query_parameters" , old_request_query_parameters )
176- __vc_test_helpers_request . set_header ( Rack ::QUERY_STRING , old_request_query_string )
173+ vc_test_request . path_info = old_request_path_info
174+ vc_test_request . path_parameters = old_request_path_parameters
175+ vc_test_request . set_header ( "action_dispatch.request.query_parameters" , old_request_query_parameters )
176+ vc_test_request . set_header ( Rack ::QUERY_STRING , old_request_query_string )
177177 @vc_test_controller = old_controller
178178 end
179179
@@ -192,20 +192,31 @@ def vc_test_controller
192192 @vc_test_controller ||= __vc_test_helpers_build_controller ( Base . test_controller . constantize )
193193 end
194194
195- # Note: We prefix private methods here to prevent collisions in consumer's tests.
196- private
197-
198- def __vc_test_helpers_request
199- @__vc_test_helpers_request ||=
195+ # Access the request used by `render_inline`:
196+ #
197+ # ```ruby
198+ # test "component does not render in Firefox" do
199+ # request.env["HTTP_USER_AGENT"] = "Mozilla/5.0"
200+ # render_inline(NoFirefoxComponent.new)
201+ # refute_component_rendered
202+ # end
203+ # ```
204+ #
205+ # @return [ActionDispatch::TestRequest]
206+ def vc_test_request
207+ @vc_test_request ||=
200208 begin
201209 out = ActionDispatch ::TestRequest . create
202210 out . session = ActionController ::TestSession . new
203211 out
204212 end
205213 end
206214
215+ # Note: We prefix private methods here to prevent collisions in consumer's tests.
216+ private
217+
207218 def __vc_test_helpers_build_controller ( klass )
208- klass . new . tap { |c | c . request = __vc_test_helpers_request } . extend ( Rails . application . routes . url_helpers )
219+ klass . new . tap { |c | c . request = vc_test_request } . extend ( Rails . application . routes . url_helpers )
209220 end
210221
211222 def __vc_test_helpers_preview_class
0 commit comments