Skip to content

Commit fcacbaf

Browse files
updates sanitize gem to 5.0 with a bug fix for restoring searchLink elements to proper case
1 parent 7f99304 commit fcacbaf

3 files changed

Lines changed: 10 additions & 4 deletions

File tree

ebsco-eds.gemspec

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,10 @@ Gem::Specification.new do |spec|
4242
spec.add_dependency 'csl', '~> 1.4'
4343
spec.add_dependency 'citeproc-ruby', '~> 1.0', '>= 1.0.2'
4444
spec.add_dependency 'csl-styles', '~> 1.0', '>= 1.0.1.5'
45-
spec.add_dependency 'activesupport', '~> 5.0'
45+
spec.add_dependency 'activesupport', '~> 5.2'
4646
spec.add_dependency 'net-http-persistent', '~> 3.1'
47-
spec.add_dependency 'sanitize', '~> 4.6.6'
47+
spec.add_dependency 'sanitize', '~> 5.0'
48+
spec.add_dependency 'public_suffix', '~>4.0'
4849

4950
spec.add_development_dependency 'bundler', '~> 1.13'
5051
spec.add_development_dependency 'rake', '~> 12.3'

lib/ebsco/eds/record.rb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -961,7 +961,12 @@ def html_decode_and_sanitize(data, config = nil)
961961
html = html.gsub(/\\n /, '')
962962
end
963963

964-
Sanitize.fragment(html, sanitize_config)
964+
sanitized_html = Sanitize.fragment(html, sanitize_config)
965+
# sanitize 5.0 fails to restore element case after doing lowercase
966+
sanitized_html = sanitized_html.gsub(/<searchlink/, '<searchLink')
967+
sanitized_html = sanitized_html.gsub(/<\/searchlink>/, '</searchLink>')
968+
sanitized_html
969+
965970
end
966971

967972
# dynamically add item metadata as 'eds_extra_ItemNameOrLabel'

test/html_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ def test_sanitize_html_fulltext
8181
if session_with_sanitize.dbid_in_profile 'bah'
8282
record = session_with_sanitize.retrieve({dbid: 'bah', an: '116897973'})
8383
#puts 'HTML AFTER: ' + record.eds_html_fulltext.to_s
84-
assert record.eds_html_fulltext.to_s.include? '<h1 id="AN0116897973-3">YOU\'VE GOT TO BE KITTEN ME! </h1>'
84+
assert record.eds_html_fulltext.to_s.include? '<h1 id="AN0116897973-3">YOU\'VE GOT TO BE KITTEN ME!&nbsp;</h1>'
8585
else
8686
puts "WARNING: skipping test_sanitize_html_fulltext, bah db isn't in the profile."
8787
end

0 commit comments

Comments
 (0)