diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2019-01-17 10:41:25 -0800 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2019-01-17 10:41:25 -0800 |
commit | e1fe21f62454d72203f97f7328a74bb164781962 (patch) | |
tree | 4bcb2cec93b821944c9f9cff7f3a2918523dbe23 | |
parent | 54095aa676692eb8919e3b5f935670812c14a840 (diff) | |
download | rails-e1fe21f62454d72203f97f7328a74bb164781962.tar.gz rails-e1fe21f62454d72203f97f7328a74bb164781962.tar.bz2 rails-e1fe21f62454d72203f97f7328a74bb164781962.zip |
Templates should be eval'd in the context of an AV::Base object
-rw-r--r-- | actionpack/test/controller/new_base/render_context_test.rb | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/actionpack/test/controller/new_base/render_context_test.rb b/actionpack/test/controller/new_base/render_context_test.rb deleted file mode 100644 index 5e570a1d79..0000000000 --- a/actionpack/test/controller/new_base/render_context_test.rb +++ /dev/null @@ -1,55 +0,0 @@ -# frozen_string_literal: true - -require "abstract_unit" - -# This is testing the decoupling of view renderer and view context -# by allowing the controller to be used as view context. This is -# similar to the way sinatra renders templates. -module RenderContext - class BasicController < ActionController::Base - self.view_paths = [ActionView::FixtureResolver.new( - "render_context/basic/hello_world.html.erb" => "<%= @value %> from <%= self.__controller_method__ %>", - "layouts/basic.html.erb" => "?<%= yield %>?" - )] - - # 1) Include ActionView::Context to bring the required dependencies - include ActionView::Context - - # 2) Call _prepare_context that will do the required initialization - before_action :_prepare_context - - def hello_world - @value = "Hello" - render action: "hello_world", layout: false - end - - def with_layout - @value = "Hello" - render action: "hello_world", layout: "basic" - end - - protected def __controller_method__ - "controller context!" - end - - private - # 3) Set view_context to self - def view_context - self - end - end - - class RenderContextTest < Rack::TestCase - test "rendering using the controller as context" do - get "/render_context/basic/hello_world" - assert_body "Hello from controller context!" - assert_status 200 - end - - test "rendering using the controller as context with layout" do - get "/render_context/basic/with_layout" - assert_body "?Hello from controller context!?" - assert_status 200 - end - end -end |