aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/abstract/helper_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/test/abstract/helper_test.rb')
-rw-r--r--actionpack/test/abstract/helper_test.rb65
1 files changed, 50 insertions, 15 deletions
diff --git a/actionpack/test/abstract/helper_test.rb b/actionpack/test/abstract/helper_test.rb
index b6952d2758..6c28f01fa4 100644
--- a/actionpack/test/abstract/helper_test.rb
+++ b/actionpack/test/abstract/helper_test.rb
@@ -1,19 +1,17 @@
require 'abstract_unit'
+ActionController::Base.helpers_dir = File.dirname(__FILE__) + '/../fixtures/helpers'
+
module AbstractController
module Testing
class ControllerWithHelpers < AbstractController::Base
include AbstractController::RenderingController
include Helpers
-
- def _prefix() end
- def render(string)
- super(:_template_name => string)
+ def with_module
+ render :inline => "Module <%= included_method %>"
end
-
- append_view_path File.expand_path(File.join(File.dirname(__FILE__), "views"))
end
module HelperyTest
@@ -22,24 +20,61 @@ module AbstractController
end
end
- class MyHelpers1 < ControllerWithHelpers
+ class AbstractHelpers < ControllerWithHelpers
helper(HelperyTest) do
def helpery_test
"World"
end
end
-
- def index
- render "helper_test.erb"
+
+ helper :abc
+
+ def with_block
+ render :inline => "Hello <%= helpery_test %>"
+ end
+
+ def with_symbol
+ render :inline => "I respond to bare_a: <%= respond_to?(:bare_a) %>"
+ end
+ end
+
+ class AbstractHelpersBlock < ControllerWithHelpers
+ helper do
+ include HelperyTest
end
end
-
+
class TestHelpers < ActiveSupport::TestCase
- def test_helpers
- controller = MyHelpers1.new
- controller.process(:index)
- assert_equal "Hello World : Included", controller.response_body
+
+ def setup
+ @controller = AbstractHelpers.new
end
+
+ def test_helpers_with_block
+ @controller.process(:with_block)
+ assert_equal "Hello World", @controller.response_body
+ end
+
+ def test_helpers_with_module
+ @controller.process(:with_module)
+ assert_equal "Module Included", @controller.response_body
+ end
+
+ def test_helpers_with_symbol
+ @controller.process(:with_symbol)
+ assert_equal "I respond to bare_a: true", @controller.response_body
+ end
+
+ def test_declare_missing_helper
+ assert_raise(MissingSourceFile) { AbstractHelpers.helper :missing }
+ end
+
+ def test_helpers_with_module_through_block
+ @controller = AbstractHelpersBlock.new
+ @controller.process(:with_module)
+ assert_equal "Module Included", @controller.response_body
+ end
+
end
end