diff --git a/app/renderers/hyrax/renderers/faceted_attribute_renderer.rb b/app/renderers/hyrax/renderers/faceted_attribute_renderer.rb index 9515febbbb..d44f24645e 100644 --- a/app/renderers/hyrax/renderers/faceted_attribute_renderer.rb +++ b/app/renderers/hyrax/renderers/faceted_attribute_renderer.rb @@ -8,7 +8,7 @@ def li_value(value) end def search_path(value) - Rails.application.routes.url_helpers.search_catalog_path(:"f[#{search_field}][]" => ERB::Util.h(value)) + Rails.application.routes.url_helpers.search_catalog_path(:"f[#{search_field}][]" => value) end def search_field diff --git a/spec/renderers/hyrax/renderers/faceted_attribute_renderer_spec.rb b/spec/renderers/hyrax/renderers/faceted_attribute_renderer_spec.rb index e8151e4582..a43aea8241 100644 --- a/spec/renderers/hyrax/renderers/faceted_attribute_renderer_spec.rb +++ b/spec/renderers/hyrax/renderers/faceted_attribute_renderer_spec.rb @@ -18,4 +18,15 @@ it { expect(renderer).not_to be_microdata(field) } it { expect(subject).to be_equivalent_to(expected) } end + + describe "href generated" do + describe "escaping" do + let(:renderer) { described_class.new(field, ['John & Bob']) } + let(:rendered_link) { Nokogiri::HTML(renderer.render).at_css("a") } + let(:rendered_link_query) { URI.parse(rendered_link['href']).query } + it "escapes content properly" do + expect(rendered_link_query).to eq "#{CGI.escape('f[name_sim][]')}=#{CGI.escape('John & Bob')}" + end + end + end end