# frozen_string_literal: true require "abstract_unit" # The exhaustive tests are in the rails-html-sanitizer gem. # This tests that the helpers hook up correctly to the sanitizer classes. class SanitizeHelperTest < ActionView::TestCase tests ActionView::Helpers::SanitizeHelper def test_strip_links assert_equal "Dont touch me", strip_links("Dont touch me") assert_equal "on my mind\nall day long", strip_links("on my mind\nall day long") assert_equal "Magic", strip_links("Magic") assert_equal "My mind\nall day long", strip_links("My mind\nall day long") assert_equal "<malformed & link", strip_links('<malformed & link') end def test_sanitize_form assert_equal "", sanitize("
") end def test_should_sanitize_illegal_style_properties raw = %(display:block; position:absolute; left:0; top:0; width:100%; height:100%; z-index:1; background-color:black; background-image:url(http://www.ragingplatypus.com/i/cam-full.jpg); background-x:center; background-y:center; background-repeat:repeat;) expected = %r(\Adisplay:\s?block;\s?width:\s?100%;\s?height:\s?100%;\s?background-color:\s?black;\s?background-x:\s?center;\s?background-y:\s?center;\z) assert_match expected, sanitize_css(raw) end def test_strip_tags assert_equal("Dont touch me", strip_tags("Dont touch me")) assert_equal("This is a test.", strip_tags("

This is a test.

")) assert_equal "This has a here.", strip_tags("This has a here.") assert_equal("Jekyll & Hyde", strip_tags("Jekyll & Hyde")) assert_equal "", strip_tags(""), :html_safe? end end