diff --git a/test/test_view_helpers.rb b/test/test_view_helpers.rb
new file mode 100644
index 0000000..4bfaa00
--- /dev/null
+++ b/test/test_view_helpers.rb
@@ -0,0 +1,68 @@
+require 'minitest/autorun'
+require 'prism'
+
+class ViewHelpersTest < Minitest::Test
+ def render(source, locals = {}, helpers = nil)
+ Prism::Template.render(source, locals, nil, helpers)
+ end
+
+ def test_tag_renders_void_element
+ assert_equal '
', render('<%== tag(:br, class: "hint") %>')
+ end
+
+ def test_tag_omits_false_and_nil_attributes
+ assert_equal '', render('<%== tag(:input, disabled: false, value: nil) %>')
+ end
+
+ def test_tag_boolean_true_attribute_renders_itself
+ assert_equal '', render('<%== tag(:input, disabled: true) %>')
+ end
+
+ def test_content_tag_without_block_escapes_content
+ result = render('<%== content_tag(:p, "hi") %>')
+ assert_equal '
<b>hi</b>
', result + end + + def test_content_tag_with_block_appends_inline_and_nests + template = '<% content_tag(:div, class: "wrap") do %><%= "safe & sound" %><% end %>' + assert_equal '