Skip to content

Commit

Permalink
More community code review :)
Browse files Browse the repository at this point in the history
  • Loading branch information
wycats committed May 11, 2009
1 parent 9047c98 commit 030dfe3
Show file tree
Hide file tree
Showing 8 changed files with 37 additions and 43 deletions.
3 changes: 1 addition & 2 deletions actionpack/lib/action_controller/abstract/base.rb
Expand Up @@ -54,7 +54,6 @@ def process(action_name)

@_action_name = action_name
process_action
self.response_obj[:body] = self.response_body
self
end

Expand All @@ -71,7 +70,7 @@ def action_methods
# 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

Expand Down
9 changes: 1 addition & 8 deletions actionpack/lib/action_controller/abstract/helpers.rb
Expand Up @@ -6,14 +6,7 @@ module Helpers
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
Expand Down
4 changes: 2 additions & 2 deletions actionpack/lib/action_controller/abstract/renderer.rb
Expand Up @@ -20,13 +20,13 @@ module Renderer

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

Expand Down
2 changes: 2 additions & 0 deletions actionpack/lib/action_view/template/text.rb
@@ -1,5 +1,7 @@
module ActionView #:nodoc:
class TextTemplate < String #:nodoc:

def identifier() self end

def render(*) self end

Expand Down
20 changes: 10 additions & 10 deletions actionpack/test/abstract_controller/abstract_controller_test.rb
Expand Up @@ -20,7 +20,7 @@ def index
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

Expand Down Expand Up @@ -69,27 +69,27 @@ def rendering_to_string
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

Expand Down Expand Up @@ -121,12 +121,12 @@ def formatted
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

Expand Down Expand Up @@ -174,7 +174,7 @@ def index
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

Expand Down Expand Up @@ -211,7 +211,7 @@ def respond_to_action?(action_name)
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

Expand Down
18 changes: 9 additions & 9 deletions actionpack/test/abstract_controller/callbacks_test.rb
Expand Up @@ -22,7 +22,7 @@ def index
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

Expand Down Expand Up @@ -53,7 +53,7 @@ def index
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
Expand Down Expand Up @@ -84,7 +84,7 @@ def index
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
Expand Down Expand Up @@ -119,12 +119,12 @@ def authenticate
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
Expand Down Expand Up @@ -159,12 +159,12 @@ def authenticate
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
Expand All @@ -184,12 +184,12 @@ def not_index
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

Expand Down
2 changes: 1 addition & 1 deletion actionpack/test/abstract_controller/helper_test.rb
Expand Up @@ -35,7 +35,7 @@ def index
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

Expand Down
22 changes: 11 additions & 11 deletions actionpack/test/abstract_controller/layouts_test.rb
Expand Up @@ -152,12 +152,12 @@ def index
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
Expand All @@ -166,22 +166,22 @@ class TestBase < ActiveSupport::TestCase

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
Expand All @@ -194,28 +194,28 @@ class TestBase < ActiveSupport::TestCase

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
Expand Down

0 comments on commit 030dfe3

Please sign in to comment.