diff options
Diffstat (limited to 'actionpack/test/controller/custom_handler_test.rb')
-rw-r--r-- | actionpack/test/controller/custom_handler_test.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/actionpack/test/controller/custom_handler_test.rb b/actionpack/test/controller/custom_handler_test.rb new file mode 100644 index 0000000000..8939d19166 --- /dev/null +++ b/actionpack/test/controller/custom_handler_test.rb @@ -0,0 +1,33 @@ +require File.dirname(__FILE__) + '/../abstract_unit' + +class CustomHandler + def initialize( view ) + @view = view + end + + def render( template, local_assigns ) + [ template, + local_assigns, + @view ] + end +end + +class CustomHandlerTest < Test::Unit::TestCase + def setup + ActionView::Base.register_template_handler "foo", CustomHandler + @view = ActionView::Base.new + end + + def test_custom_render + result = @view.render_template( "foo", "hello <%= one %>", "one" => "two" ) + assert_equal( + [ "hello <%= one %>", { "one" => "two" }, @view ], + result ) + end + + def test_unhandled_extension + # uses the ERb handler by default if the extension isn't recognized + result = @view.render_template( "bar", "hello <%= one %>", "one" => "two" ) + assert_equal "hello two", result + end +end |