instiki/vendor/rails/actionpack/test/controller/custom_handler_test.rb

46 lines
1.3 KiB
Ruby
Raw Normal View History

require 'abstract_unit'
2007-01-22 14:43:50 +01:00
class CustomHandler < ActionView::TemplateHandler
2007-01-22 14:43:50 +01:00
def initialize( view )
@view = view
end
def render( template )
[ template.source,
template.locals,
2007-01-22 14:43:50 +01:00
@view ]
end
end
class CustomHandlerTest < Test::Unit::TestCase
def setup
ActionView::Template.register_template_handler "foo", CustomHandler
ActionView::Template.register_template_handler :foo2, CustomHandler
2007-01-22 14:43:50 +01:00
@view = ActionView::Base.new
end
def test_custom_render
template = ActionView::InlineTemplate.new(@view, "hello <%= one %>", { :one => "two" }, "foo")
result = @view.render_template(template)
2007-01-22 14:43:50 +01:00
assert_equal(
[ "hello <%= one %>", { :one => "two" }, @view ],
result )
end
def test_custom_render2
template = ActionView::InlineTemplate.new(@view, "hello <%= one %>", { :one => "two" }, "foo2")
result = @view.render_template(template)
2007-01-22 14:43:50 +01:00
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
template = ActionView::InlineTemplate.new(@view, "hello <%= one %>", { :one => "two" }, "bar")
result = @view.render_template(template)
2007-01-22 14:43:50 +01:00
assert_equal "hello two", result
end
end