mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
31 lines
869 B
Ruby
31 lines
869 B
Ruby
# frozen_string_literal: true
|
|
|
|
module ERBTest
|
|
class ViewContext
|
|
include ActionView::Helpers::UrlHelper
|
|
include ActionView::Helpers::TagHelper
|
|
include ActionView::Helpers::JavaScriptHelper
|
|
include ActionView::Helpers::FormHelper
|
|
|
|
attr_accessor :output_buffer, :controller
|
|
|
|
def protect_against_forgery?() false end
|
|
end
|
|
|
|
class BlockTestCase < ActiveSupport::TestCase
|
|
def render_content(start, inside, routes = nil)
|
|
routes ||= ActionDispatch::Routing::RouteSet.new.tap do |rs|
|
|
rs.draw { }
|
|
end
|
|
context = Class.new(ViewContext) {
|
|
include routes.url_helpers
|
|
}.new
|
|
template = block_helper(start, inside)
|
|
ActionView::Template::Handlers::ERB.erb_implementation.new(template).evaluate(context)
|
|
end
|
|
|
|
def block_helper(str, rest)
|
|
"<%= #{str} do %>#{rest}<% end %>"
|
|
end
|
|
end
|
|
end
|