require 'minitest/autorun'
require 'prism'
class TemplateTest < Minitest::Test
def test_interpolation
assert_equal 'Hello, Ruby!', Prism::Template.render('Hello, <%= name %>!', name: 'Ruby')
end
def test_html_escape
result = Prism::Template.render('<%= value %>', value: '')
assert_equal '<script>alert(1)</script>', result
end
def test_raw_output
result = Prism::Template.render('<%== value %>', value: 'bold')
assert_equal 'bold', result
end
def test_logic
template = '<% items.each do |n| %><%= n %>;<% end %>'
assert_equal '1;2;3;', Prism::Template.render(template, items: [1, 2, 3])
end
def test_conditional
template = '<% if admin %>yes<% else %>no<% end %>'
assert_equal 'yes', Prism::Template.render(template, admin: true)
assert_equal 'no', Prism::Template.render(template, admin: false)
end
end