From 87642e4e38f257d7700ef3c0fb9302fe41bcbd88 Mon Sep 17 00:00:00 2001 From: Kevin Ratzel Date: Thu, 9 Apr 2026 06:43:36 -0400 Subject: [PATCH] Exclude `opening_hours` from semicolon splitting in tags helper (#6968) * Fix tag rendering for opening hours * Enhance browse_tags_helper_test with opening hours Add tests for opening hours formatting in browse_tags_helper. * Update opening hours format in test * Update browse_tags_helper_test.rb * Match more keys with opening hours syntax --- app/helpers/browse_tags_helper.rb | 2 ++ test/helpers/browse_tags_helper_test.rb | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/app/helpers/browse_tags_helper.rb b/app/helpers/browse_tags_helper.rb index 1358e740f..41920991d 100644 --- a/app/helpers/browse_tags_helper.rb +++ b/app/helpers/browse_tags_helper.rb @@ -50,6 +50,8 @@ module BrowseTagsHelper concat tag.rect :x => 0.5, :y => 0.5, :width => 13, :height => 13, :fill => colour_value, :stroke => "#2222" end svg + colour_value + elsif %w[opening_hours collection_times service_times].include?(key) + tag2link_link(key, value) || linkify(h(value)) else safe_join(value.split(";", -1).map { |x| tag2link_link(key, x) || linkify(h(x)) }, ";") end diff --git a/test/helpers/browse_tags_helper_test.rb b/test/helpers/browse_tags_helper_test.rb index 8a1c53ec4..8891eda7a 100644 --- a/test/helpers/browse_tags_helper_test.rb +++ b/test/helpers/browse_tags_helper_test.rb @@ -77,6 +77,12 @@ class BrowseTagsHelperTest < ActionView::TestCase html = format_value("email", "foo@example.com") assert_dom_equal "foo@example.com", html + html = format_value("opening_hours", "Mo-Fr 09:00-12:00;Sa 09:00-17:00") + dom = parse_html html + assert_select dom, "a", 1 + assert_select dom, "a[rel='nofollow']", + :text => "Mo-Fr 09:00-12:00;Sa 09:00-17:00" + html = format_value("website", "https://example.com") assert_dom_equal "https://example.com", html -- 2.39.5