mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
More community code review :)
This commit is contained in:
@@ -54,7 +54,6 @@ module AbstractController
|
||||
|
||||
@_action_name = action_name
|
||||
process_action
|
||||
self.response_obj[:body] = self.response_body
|
||||
self
|
||||
end
|
||||
|
||||
@@ -71,7 +70,7 @@ module AbstractController
|
||||
# action_name is found.
|
||||
def process_action
|
||||
if respond_to?(action_name) then send(action_name)
|
||||
elsif respond_to?(:action_missing, true) then send(:action_missing, action_name)
|
||||
elsif respond_to?(:action_missing, true) then action_missing(action_name)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -6,14 +6,7 @@ module AbstractController
|
||||
extlib_inheritable_accessor :master_helper_module
|
||||
self.master_helper_module = Module.new
|
||||
end
|
||||
|
||||
# def self.included(klass)
|
||||
# klass.class_eval do
|
||||
# extlib_inheritable_accessor :master_helper_module
|
||||
# self.master_helper_module = Module.new
|
||||
# end
|
||||
# end
|
||||
|
||||
|
||||
def _action_view
|
||||
@_action_view ||= begin
|
||||
av = super
|
||||
|
||||
@@ -20,13 +20,13 @@ module AbstractController
|
||||
|
||||
self._view_paths ||= ActionView::PathSet.new
|
||||
end
|
||||
|
||||
|
||||
def _action_view
|
||||
@_action_view ||= ActionView::Base.new(self.class.view_paths, {}, self)
|
||||
end
|
||||
|
||||
def render(options = {})
|
||||
unless response_body.nil?
|
||||
if response_body
|
||||
raise AbstractController::DoubleRenderError, "OMG"
|
||||
end
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
module ActionView #:nodoc:
|
||||
class TextTemplate < String #:nodoc:
|
||||
|
||||
def identifier() self end
|
||||
|
||||
def render(*) self end
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ module AbstractController
|
||||
class TestBasic < ActiveSupport::TestCase
|
||||
test "dispatching works" do
|
||||
result = Me.process(:index)
|
||||
assert_equal "Hello world", result.response_obj[:body]
|
||||
assert_equal "Hello world", result.response_body
|
||||
end
|
||||
end
|
||||
|
||||
@@ -69,27 +69,27 @@ module AbstractController
|
||||
class TestRenderer < ActiveSupport::TestCase
|
||||
test "rendering templates works" do
|
||||
result = Me2.process(:index)
|
||||
assert_equal "Hello from index.erb", result.response_obj[:body]
|
||||
assert_equal "Hello from index.erb", result.response_body
|
||||
end
|
||||
|
||||
test "rendering passes ivars to the view" do
|
||||
result = Me2.process(:action_with_ivars)
|
||||
assert_equal "Hello from index_with_ivars.erb", result.response_obj[:body]
|
||||
assert_equal "Hello from index_with_ivars.erb", result.response_body
|
||||
end
|
||||
|
||||
test "rendering with no template name" do
|
||||
result = Me2.process(:naked_render)
|
||||
assert_equal "Hello from naked_render.erb", result.response_obj[:body]
|
||||
assert_equal "Hello from naked_render.erb", result.response_body
|
||||
end
|
||||
|
||||
test "rendering to a rack body" do
|
||||
result = Me2.process(:rendering_to_body)
|
||||
assert_equal "Hello from naked_render.erb", result.response_obj[:body]
|
||||
assert_equal "Hello from naked_render.erb", result.response_body
|
||||
end
|
||||
|
||||
test "rendering to a string" do
|
||||
result = Me2.process(:rendering_to_string)
|
||||
assert_equal "Hello from naked_render.erb", result.response_obj[:body]
|
||||
assert_equal "Hello from naked_render.erb", result.response_body
|
||||
end
|
||||
end
|
||||
|
||||
@@ -121,12 +121,12 @@ module AbstractController
|
||||
class TestPrefixedViews < ActiveSupport::TestCase
|
||||
test "templates are located inside their 'prefix' folder" do
|
||||
result = Me3.process(:index)
|
||||
assert_equal "Hello from me3/index.erb", result.response_obj[:body]
|
||||
assert_equal "Hello from me3/index.erb", result.response_body
|
||||
end
|
||||
|
||||
test "templates included their format" do
|
||||
result = Me3.process(:formatted)
|
||||
assert_equal "Hello from me3/formatted.html.erb", result.response_obj[:body]
|
||||
assert_equal "Hello from me3/formatted.html.erb", result.response_body
|
||||
end
|
||||
end
|
||||
|
||||
@@ -174,7 +174,7 @@ module AbstractController
|
||||
class TestLayouts < ActiveSupport::TestCase
|
||||
test "layouts are included" do
|
||||
result = Me4.process(:index)
|
||||
assert_equal "Me4 Enter : Hello from me4/index.erb : Exit", result.response_obj[:body]
|
||||
assert_equal "Me4 Enter : Hello from me4/index.erb : Exit", result.response_body
|
||||
end
|
||||
end
|
||||
|
||||
@@ -211,7 +211,7 @@ module AbstractController
|
||||
class TestRespondToAction < ActiveSupport::TestCase
|
||||
|
||||
def assert_dispatch(klass, body = "success", action = :index)
|
||||
response = klass.process(action).response_obj[:body]
|
||||
response = klass.process(action).response_body
|
||||
assert_equal body, response
|
||||
end
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ module AbstractController
|
||||
class TestCallbacks < ActiveSupport::TestCase
|
||||
test "basic callbacks work" do
|
||||
result = Callback1.process(:index)
|
||||
assert_equal "Hello world", result.response_obj[:body]
|
||||
assert_equal "Hello world", result.response_body
|
||||
end
|
||||
end
|
||||
|
||||
@@ -53,7 +53,7 @@ module AbstractController
|
||||
class TestCallbacks < ActiveSupport::TestCase
|
||||
test "before_filter works" do
|
||||
result = Callback2.process(:index)
|
||||
assert_equal "Hello world", result.response_obj[:body]
|
||||
assert_equal "Hello world", result.response_body
|
||||
end
|
||||
|
||||
test "after_filter works" do
|
||||
@@ -84,7 +84,7 @@ module AbstractController
|
||||
class TestCallbacks < ActiveSupport::TestCase
|
||||
test "before_filter works with procs" do
|
||||
result = Callback3.process(:index)
|
||||
assert_equal "Hello world", result.response_obj[:body]
|
||||
assert_equal "Hello world", result.response_body
|
||||
end
|
||||
|
||||
test "after_filter works with procs" do
|
||||
@@ -119,12 +119,12 @@ module AbstractController
|
||||
class TestCallbacks < ActiveSupport::TestCase
|
||||
test "when :only is specified, a before filter is triggered on that action" do
|
||||
result = CallbacksWithConditions.process(:index)
|
||||
assert_equal "Hello, World", result.response_obj[:body]
|
||||
assert_equal "Hello, World", result.response_body
|
||||
end
|
||||
|
||||
test "when :only is specified, a before filter is not triggered on other actions" do
|
||||
result = CallbacksWithConditions.process(:sekrit_data)
|
||||
assert_equal "true", result.response_obj[:body]
|
||||
assert_equal "true", result.response_body
|
||||
end
|
||||
|
||||
test "when :except is specified, an after filter is not triggered on that action" do
|
||||
@@ -159,12 +159,12 @@ module AbstractController
|
||||
class TestCallbacks < ActiveSupport::TestCase
|
||||
test "when :only is specified with an array, a before filter is triggered on that action" do
|
||||
result = CallbacksWithArrayConditions.process(:index)
|
||||
assert_equal "Hello, World", result.response_obj[:body]
|
||||
assert_equal "Hello, World", result.response_body
|
||||
end
|
||||
|
||||
test "when :only is specified with an array, a before filter is not triggered on other actions" do
|
||||
result = CallbacksWithArrayConditions.process(:sekrit_data)
|
||||
assert_equal "true", result.response_obj[:body]
|
||||
assert_equal "true", result.response_body
|
||||
end
|
||||
|
||||
test "when :except is specified with an array, an after filter is not triggered on that action" do
|
||||
@@ -184,12 +184,12 @@ module AbstractController
|
||||
class TestCallbacks < ActiveSupport::TestCase
|
||||
test "when a callback is modified in a child with :only, it works for the :only action" do
|
||||
result = ChangedConditions.process(:index)
|
||||
assert_equal "Hello world", result.response_obj[:body]
|
||||
assert_equal "Hello world", result.response_body
|
||||
end
|
||||
|
||||
test "when a callback is modified in a child with :only, it does not work for other actions" do
|
||||
result = ChangedConditions.process(:not_index)
|
||||
assert_equal "", result.response_obj[:body]
|
||||
assert_equal "", result.response_body
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ module AbstractController
|
||||
class TestHelpers < ActiveSupport::TestCase
|
||||
def test_helpers
|
||||
result = MyHelpers1.process(:index)
|
||||
assert_equal "Hello World : Included", result.response_obj[:body]
|
||||
assert_equal "Hello World : Included", result.response_body
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -152,12 +152,12 @@ module AbstractControllerTests
|
||||
class TestBase < ActiveSupport::TestCase
|
||||
test "when no layout is specified, and no default is available, render without a layout" do
|
||||
result = Blank.process(:index)
|
||||
assert_equal "Hello blank!", result.response_obj[:body]
|
||||
assert_equal "Hello blank!", result.response_body
|
||||
end
|
||||
|
||||
test "when layout is specified as a string, render with that layout" do
|
||||
result = WithString.process(:index)
|
||||
assert_equal "With String Hello string!", result.response_obj[:body]
|
||||
assert_equal "With String Hello string!", result.response_body
|
||||
end
|
||||
|
||||
test "when layout is specified as a string, but the layout is missing, raise an exception" do
|
||||
@@ -166,22 +166,22 @@ module AbstractControllerTests
|
||||
|
||||
test "when layout is specified as false, do not use a layout" do
|
||||
result = WithFalseLayout.process(:index)
|
||||
assert_equal "Hello false!", result.response_obj[:body]
|
||||
assert_equal "Hello false!", result.response_body
|
||||
end
|
||||
|
||||
test "when layout is specified as nil, do not use a layout" do
|
||||
result = WithNilLayout.process(:index)
|
||||
assert_equal "Hello nil!", result.response_obj[:body]
|
||||
assert_equal "Hello nil!", result.response_body
|
||||
end
|
||||
|
||||
test "when layout is specified as a symbol, call the requested method and use the layout returned" do
|
||||
result = WithSymbol.process(:index)
|
||||
assert_equal "OMGHI2U Hello symbol!", result.response_obj[:body]
|
||||
assert_equal "OMGHI2U Hello symbol!", result.response_body
|
||||
end
|
||||
|
||||
test "when layout is specified as a symbol and the method returns nil, don't use a layout" do
|
||||
result = WithSymbolReturningNil.process(:index)
|
||||
assert_equal "Hello nilz!", result.response_obj[:body]
|
||||
assert_equal "Hello nilz!", result.response_body
|
||||
end
|
||||
|
||||
test "when the layout is specified as a symbol and the method doesn't exist, raise an exception" do
|
||||
@@ -194,28 +194,28 @@ module AbstractControllerTests
|
||||
|
||||
test "when a child controller does not have a layout, use the parent controller layout" do
|
||||
result = WithStringChild.process(:index)
|
||||
assert_equal "With String Hello string!", result.response_obj[:body]
|
||||
assert_equal "With String Hello string!", result.response_body
|
||||
end
|
||||
|
||||
test "when a child controller has specified a layout, use that layout and not the parent controller layout" do
|
||||
result = WithStringOverriddenChild.process(:index)
|
||||
assert_equal "With Override Hello string!", result.response_obj[:body]
|
||||
assert_equal "With Override Hello string!", result.response_body
|
||||
end
|
||||
|
||||
test "when a child controller has an implied layout, use that layout and not the parent controller layout" do
|
||||
result = WithStringImpliedChild.process(:index)
|
||||
assert_equal "With Implied Hello string!", result.response_obj[:body]
|
||||
assert_equal "With Implied Hello string!", result.response_body
|
||||
end
|
||||
|
||||
test "when a child controller specifies layout nil, do not use the parent layout" do
|
||||
result = WithNilChild.process(:index)
|
||||
assert_equal "Hello string!", result.response_obj[:body]
|
||||
assert_equal "Hello string!", result.response_body
|
||||
end
|
||||
|
||||
test "when a grandchild has no layout specified, the child has an implied layout, and the " \
|
||||
"parent has specified a layout, use the child controller layout" do
|
||||
result = WithChildOfImplied.process(:index)
|
||||
assert_equal "With Implied Hello string!", result.response_obj[:body]
|
||||
assert_equal "With Implied Hello string!", result.response_body
|
||||
end
|
||||
|
||||
test "raises an exception when specifying layout true" do
|
||||
|
||||
Reference in New Issue
Block a user