require "helper" class UnitTestHelpers < Loofah::TestCase HTML_STRING = "
omgwtfbbq
" describe "Helpers" do context ".strip_tags" do it "invoke Loofah.fragment.text" do mock_doc = Object.new mock(Loofah).fragment(HTML_STRING) { mock_doc } mock(mock_doc).text Loofah::Helpers.strip_tags HTML_STRING end end context ".sanitize" do it "invoke Loofah.scrub_fragment(:strip).to_s" do mock_doc = Object.new mock_node = Object.new mock(Loofah).fragment(HTML_STRING) { mock_doc } mock(mock_doc).scrub!(:strip) { mock_doc } mock(mock_doc).xpath("./form") { [mock_node] } mock(mock_node).remove mock(mock_doc).to_s Loofah::Helpers.sanitize HTML_STRING end end context ".sanitize_css" do it "invokes HTML5lib's css scrubber" do mock(Loofah::HTML5::Scrub).scrub_css("foobar") Loofah::Helpers.sanitize_css("foobar") end end describe "ActionView" do describe "FullSanitizer#sanitize" do it "calls .strip_tags" do mock(Loofah::Helpers).strip_tags("foobar") Loofah::Helpers::ActionView::FullSanitizer.new.sanitize "foobar" end end describe "SafeListSanitizer#sanitize" do it "calls .sanitize" do mock(Loofah::Helpers).sanitize("foobar") Loofah::Helpers::ActionView::SafeListSanitizer.new.sanitize "foobar" end end describe "SafeListSanitizer#sanitize_css" do it "calls .sanitize_css" do mock(Loofah::Helpers).sanitize_css("foobar") Loofah::Helpers::ActionView::SafeListSanitizer.new.sanitize_css "foobar" end end end end end