From d631b37ba853e160e473097c6f8d2bab1b1643d8 Mon Sep 17 00:00:00 2001 From: Timm Date: Wed, 10 Jul 2013 17:36:57 +0200 Subject: Added some tests for ActionView::Sanitizer. --- actionview/test/template/sanitizers_test.rb | 32 +++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/actionview/test/template/sanitizers_test.rb b/actionview/test/template/sanitizers_test.rb index c530da2996..8b91dd9c5a 100644 --- a/actionview/test/template/sanitizers_test.rb +++ b/actionview/test/template/sanitizers_test.rb @@ -5,6 +5,38 @@ class SanitizersTest < ActionController::TestCase @sanitizer = nil # used by assert_sanitizer end + def test_sanitizer_sanitize_raises_not_implemented_error + assert_raises NotImplementedError do + ActionView::Sanitizer.new.sanitize('') + end + end + + def test_sanitizer_remove_xpaths_removes_an_xpath + sanitizer = ActionView::Sanitizer.new + html = %(

hello

) + assert_equal %(

hello

), sanitizer.remove_xpaths(html, %w(.//script)) + end + + def test_sanitizer_remove_xpaths_removes_all_occurences_of_xpath + sanitizer = ActionView::Sanitizer.new + html = %(

hello

) + assert_equal %(

hello

), sanitizer.remove_xpaths(html, %w(.//script)) + end + + def test_sanitizer_remove_xpaths_not_enumerable_xpaths_parameter + sanitizer = ActionView::Sanitizer.new + assert_raises NoMethodError do + sanitizer.remove_xpaths('

hello

', './not_enumerable') + end + end + + def test_sanitizer_remove_xpaths_faulty_xpath + sanitizer = ActionView::Sanitizer.new + assert_raises Nokogiri::XML::XPath::SyntaxError do + sanitizer.remove_xpaths('

hello

', %w(..faulty_xpath)) + end + end + def test_strip_tags_with_quote sanitizer = ActionView::FullSanitizer.new string = '<" hi' -- cgit v1.2.3