@@ -17,20 +17,21 @@ def normalize_html(text)
17
17
end
18
18
19
19
def assert_html_equal ( expected , actual , msg = nil )
20
- assert_block ( msg ) do
21
- expected_doc = Nokogiri ::HTML ( expected ) { |config | config . noblanks }
22
- actual_doc = Nokogiri ::HTML ( actual ) { |config | config . noblanks }
23
-
24
- expected_doc . search ( '//text()' ) . each { |node | node . content = normalize_html node . content }
25
- actual_doc . search ( '//text()' ) . each { |node | node . content = normalize_html node . content }
26
-
27
- ignore_changes = { "+" => Regexp . union ( /^\s *id=".*"\s *$/ ) , "-" => nil }
28
- expected_doc . diff ( actual_doc ) do |change , node |
29
- if change != ' ' && !node . blank? then
30
- break unless node . to_html =~ ignore_changes [ change ]
20
+ assertion = Proc . new do
21
+ expected_doc = Nokogiri ::HTML ( expected ) { |config | config . noblanks }
22
+ actual_doc = Nokogiri ::HTML ( actual ) { |config | config . noblanks }
23
+
24
+ expected_doc . search ( '//text()' ) . each { |node | node . content = normalize_html node . content }
25
+ actual_doc . search ( '//text()' ) . each { |node | node . content = normalize_html node . content }
26
+
27
+ ignore_changes = { "+" => Regexp . union ( /^\s *id=".*"\s *$/ ) , "-" => nil }
28
+ expected_doc . diff ( actual_doc ) do |change , node |
29
+ if change != ' ' && !node . blank? then
30
+ break unless node . to_html =~ ignore_changes [ change ]
31
+ end
31
32
end
32
33
end
33
- end
34
+ assert ( assertion . call , msg )
34
35
end
35
36
36
37
class MarkupTest < Minitest ::Test
0 commit comments