require "abstract_unit"
module ERBTest
module SharedTagHelpers
extend ActiveSupport::Testing::Declarative
def render_content(start, inside)
template = block_helper(start, inside)
ActionView::Template::Handlers::Erubis.new(template).evaluate(context.new)
end
test "percent equals works for content_tag" do
assert_equal "
Hello world
", render_content("content_tag(:div)", "Hello world")
end
test "percent equals works for javascript_tag" do
expected_output = ""
assert_equal expected_output, render_content("javascript_tag", "alert('Hello')")
end
test "percent equals works for javascript_tag with options" do
expected_output = ""
assert_equal expected_output, render_content("javascript_tag(:id => 'the_js_tag')", "alert('Hello')")
end
end
class TagHelperTest < ActiveSupport::TestCase
def context
Class.new do
include ActionView::Helpers::TagHelper
include ActionView::Helpers::JavaScriptHelper
attr_accessor :output_buffer
end
end
def block_helper(str, rest)
"<%= #{str} do %>#{rest}<% end %>"
end
include SharedTagHelpers
end
class DeprecatedTagHelperTest < ActiveSupport::TestCase
def context
Class.new do
include ActionView::Helpers::TagHelper
include ActionView::Helpers::JavaScriptHelper
include ActionView::Helpers::DeprecatedBlockHelpers
attr_accessor :output_buffer
end
end
def block_helper(str, rest)
"<% __in_erb_template=true %><% #{str} do %>#{rest}<% end %>"
end
include SharedTagHelpers
end
end