]> git.openstreetmap.org Git - rails.git/commitdiff
Merge remote-tracking branch 'upstream/pull/4530'
authorTom Hughes <tom@compton.nu>
Tue, 20 Feb 2024 18:29:44 +0000 (18:29 +0000)
committerTom Hughes <tom@compton.nu>
Tue, 20 Feb 2024 18:29:44 +0000 (18:29 +0000)
16 files changed:
Gemfile.lock
app/assets/stylesheets/browse.scss
app/helpers/browse_helper.rb
app/views/browse/_containing_relation.html.erb
app/views/browse/_node.html.erb
app/views/browse/_relation_member.html.erb
app/views/browse/_way.html.erb
app/views/browse/changeset.html.erb
app/views/browse/feature.html.erb
app/views/browse/history.html.erb
app/views/old_nodes/show.html.erb
app/views/old_relations/show.html.erb
app/views/old_ways/show.html.erb
config/locales/en.yml
test/controllers/browse_controller_test.rb
test/helpers/browse_helper_test.rb

index 9626a4315cbc92dee33d83f247ca4e383c725caa..0f4c8d1cac22ad2c2ed3a625c892aa5a60c8aa70 100644 (file)
@@ -95,11 +95,12 @@ GEM
     autoprefixer-rails (10.4.16.0)
       execjs (~> 2)
     aws-eventstream (1.3.0)
-    aws-partitions (1.889.0)
-    aws-sdk-core (3.191.1)
+    aws-partitions (1.894.0)
+    aws-sdk-core (3.191.2)
       aws-eventstream (~> 1, >= 1.3.0)
       aws-partitions (~> 1, >= 1.651.0)
       aws-sigv4 (~> 1.8)
+      base64
       jmespath (~> 1, >= 1.6.1)
     aws-sdk-kms (1.77.0)
       aws-sdk-core (~> 3, >= 3.191.0)
@@ -179,7 +180,7 @@ GEM
       activerecord (>= 3.0, < 8.0)
       delayed_job (>= 3.0, < 5)
     docile (1.4.0)
-    doorkeeper (5.6.8)
+    doorkeeper (5.6.9)
       railties (>= 5)
     doorkeeper-i18n (5.2.7)
       doorkeeper (>= 5.2)
@@ -247,14 +248,14 @@ GEM
     ffi-libarchive (1.1.14)
       ffi (~> 1.0)
     file_exists (0.2.0)
-    frozen_record (0.27.0)
+    frozen_record (0.27.1)
       activemodel
     fspath (3.1.2)
     gd2-ffij (0.4.0)
       ffi (>= 1.0.0)
     globalid (1.2.1)
       activesupport (>= 6.1)
-    google-protobuf (3.25.2)
+    google-protobuf (3.25.3)
     hashdiff (1.1.0)
     hashie (5.0.0)
     highline (3.0.1)
@@ -303,7 +304,8 @@ GEM
       railties (>= 4.2.0)
       thor (>= 0.14, < 2.0)
     json (2.7.1)
-    jwt (2.7.1)
+    jwt (2.8.0)
+      base64
     kgio (2.11.4)
     kramdown (2.4.0)
       rexml
@@ -405,7 +407,7 @@ GEM
     parser (3.3.0.5)
       ast (~> 2.4.1)
       racc
-    pg (1.5.4)
+    pg (1.5.5)
     popper_js (2.11.8)
     progress (3.6.0)
     psych (5.1.2)
@@ -529,7 +531,7 @@ GEM
       google-protobuf (~> 3.23)
       rake (>= 13.0.0)
     secure_headers (6.5.0)
-    selenium-webdriver (4.17.0)
+    selenium-webdriver (4.18.1)
       base64 (~> 0.2)
       rexml (~> 3.2, >= 3.2.5)
       rubyzip (>= 1.2.2, < 3.0)
@@ -573,7 +575,7 @@ GEM
       i18n
     vendorer (0.2.0)
     version_gem (1.1.3)
-    webmock (3.20.0)
+    webmock (3.21.2)
       addressable (>= 2.8.0)
       crack (>= 0.3.2)
       hashdiff (>= 0.4.0, < 2.0.0)
index 7c6f4b36507dbf0eb7e4dca1c44592d2a3a74738..fe398bc5abf1d8c883811c6ff5bb78ca91e7de37 100644 (file)
     margin-left: 25px;
   }
 
-  /* Deleted objects */
-
-  .deleted { text-decoration: line-through; }
-
   /* Nodes (and ways as areas) */
 
   .aeroway.aerodrome::before { content: image-url('browse/aerodrome.p.16.png'); }
index 0f533770b8042165245e0d036b066626c4b97a30..7aa6e4754d9078344fde557e4f256b34ec2067e3 100644 (file)
@@ -1,12 +1,25 @@
 module BrowseHelper
-  def printable_name(object, version: false)
+  def element_single_current_link(type, object, url)
+    link_to url, { :class => element_class(type, object), :title => element_title(object), :rel => (link_follow(object) if type == "node") } do
+      element_strikethrough object do
+        printable_element_name object
+      end
+    end
+  end
+
+  def element_list_item(type, object, &block)
+    tag.li :class => element_class(type, object), :title => element_title(object) do
+      element_strikethrough object, &block
+    end
+  end
+
+  def printable_element_name(object)
     id = if object.id.is_a?(Array)
            object.id[0]
          else
            object.id
          end
-    name = t "printable_name.with_id", :id => id.to_s
-    name = t "printable_name.with_version", :id => name, :version => object.version.to_s if version
+    name = id.to_s
 
     # don't look at object tags if redacted, so as to avoid giving
     # away redacted version tag information.
@@ -27,20 +40,25 @@ module BrowseHelper
     name
   end
 
-  def link_class(type, object)
-    classes = [type]
+  def printable_element_version(object)
+    t "printable_name.version", :version => object.version
+  end
 
-    if object.redacted?
-      classes << "deleted"
+  def element_strikethrough(object, &block)
+    if object.redacted? || !object.visible?
+      tag.s(&block)
     else
-      classes += icon_tags(object).flatten.map { |t| h(t) }
-      classes << "deleted" unless object.visible?
+      yield
     end
+  end
 
+  def element_class(type, object)
+    classes = [type]
+    classes += icon_tags(object).flatten.map { |t| h(t) } unless object.redacted?
     classes.join(" ")
   end
 
-  def link_title(object)
+  def element_title(object)
     if object.redacted?
       ""
     else
index 06220a97ddb9267b471e2aaea31a86273b0a5463..2547ff7aa6a7cbcae116c43300b68bfc3c30c045 100644 (file)
@@ -1,4 +1,4 @@
-<li><%= linked_name = link_to printable_name(containing_relation.relation), :action => "relation", :id => containing_relation.relation.id.to_s
+<li><%= linked_name = link_to printable_element_name(containing_relation.relation), :action => "relation", :id => containing_relation.relation.id.to_s
         if containing_relation.member_role.blank?
           t ".entry_html", :relation_name => linked_name
         else
index cc8597292d058f3360daef8a77c23af97a2507ba..6c6c1fdf32a32b12bd09ebfade54e2524b8e708e 100644 (file)
@@ -17,7 +17,7 @@
           <summary><%= t "browse.part_of_ways", :count => node.ways.uniq.count %></summary>
           <ul class="list-unstyled">
             <% node.ways.uniq.each do |way| %>
-              <li><%= link_to printable_name(way), way_path(way), { :class => link_class("way", way), :title => link_title(way) } %></li>
+              <li><%= element_single_current_link "way", way, way_path(way) %></li>
             <% end %>
           </ul>
         </details>
index 5e52c04e89e269ba4183200627e767d79f527c01..16842f56922c97d9bd03f25ee6aa0a3936ffb283 100644 (file)
@@ -1,10 +1,9 @@
-<% member_class = link_class(relation_member.member_type.downcase, relation_member.member)
-   linked_name = link_to printable_name(relation_member.member), { :controller => :browse, :action => relation_member.member_type.downcase, :id => relation_member.member_id.to_s }, { :title => link_title(relation_member.member), :rel => link_follow(relation_member.member) }
+<% linked_name = link_to printable_element_name(relation_member.member), { :controller => :browse, :action => relation_member.member_type.downcase, :id => relation_member.member_id.to_s }, { :rel => link_follow(relation_member.member) }
    type_str = t ".type.#{relation_member.member_type.downcase}" %>
-<li class="<%= member_class %>">
+<%= element_list_item relation_member.member_type.downcase, relation_member.member do %>
   <%= if relation_member.member_role.blank?
         t ".entry_html", :type => type_str, :name => linked_name
       else
         t ".entry_role_html", :type => type_str, :name => linked_name, :role => relation_member.member_role
       end %>
-</li>
+<% end %>
index 26403f3fdcff27a52ed10664e67ac55929ec2320..7197298aca6a5501acd0644d429b020eab4f8169 100644 (file)
         <ul class="list-unstyled">
           <% way.way_nodes.each do |wn| %>
             <li>
-              <%= link_to printable_name(wn.node), node_path(wn.node), { :class => link_class("node", wn.node), :title => link_title(wn.node), :rel => link_follow(wn.node) } %>
+              <%= element_single_current_link "node", wn.node, node_path(wn.node) %>
               <% related_ways = wn.node.ways.reject { |w| w.id == wn.way_id } %>
               <% if related_ways.size > 0 then %>
-                (<%= t ".also_part_of_html", :count => related_ways.size, :related_ways => to_sentence(related_ways.map { |w| link_to(printable_name(w), way_path(w), { :class => link_class("way", w), :title => link_title(w) }) }) %>)
+                (<%= t ".also_part_of_html",
+                       :count => related_ways.size,
+                       :related_ways => to_sentence(related_ways.map { |w| element_single_current_link "way", w, way_path(w) }) %>)
               <% end %>
             </li>
           <% end %>
index 0fb60a7bcbc518d4b63645c5ec4eff2968a1f676..50171271763f3bd0b2bd125b078ef734716d6212 100644 (file)
     <%= render :partial => "paging_nav", :locals => { :heading => type_and_paginated_count("way", @way_pages), :pages => @way_pages, :page_param => "way_page" } %>
     <ul class="list-unstyled">
       <% @ways.each do |way| %>
-        <li><%= link_to printable_name(way, :version => true), { :action => "way", :id => way.way_id.to_s }, { :class => link_class("way", way), :title => link_title(way) } %></li>
+        <%= element_list_item "way", way do %>
+          <%= t "printable_name.current_and_old_links_html",
+                :current_link => link_to(printable_element_name(way), way_path(way.way_id)),
+                :old_link => link_to(printable_element_version(way), old_way_path(way.way_id, way.version)) %>
+        <% end %>
       <% end %>
     </ul>
   <% end %>
     <%= render :partial => "paging_nav", :locals => { :heading => type_and_paginated_count("relation", @relation_pages), :pages => @relation_pages, :page_param => "relation_page" } %>
     <ul class="list-unstyled">
       <% @relations.each do |relation| %>
-        <li><%= link_to printable_name(relation, :version => true), { :action => "relation", :id => relation.relation_id.to_s }, { :class => link_class("relation", relation), :title => link_title(relation) } %></li>
+        <%= element_list_item "relation", relation do %>
+          <%= t "printable_name.current_and_old_links_html",
+                :current_link => link_to(printable_element_name(relation), relation_path(relation.relation_id)),
+                :old_link => link_to(printable_element_version(relation), old_relation_path(relation.relation_id, relation.version)) %>
+        <% end %>
       <% end %>
     </ul>
   <% end %>
     <%= render :partial => "paging_nav", :locals => { :heading => type_and_paginated_count("node", @node_pages), :pages => @node_pages, :page_param => "node_page" } %>
     <ul class="list-unstyled">
       <% @nodes.each do |node| %>
-        <li><%= link_to printable_name(node, :version => true), { :action => "node", :id => node.node_id.to_s }, { :class => link_class("node", node), :title => link_title(node), :rel => link_follow(node) } %></li>
+        <%= element_list_item "node", node do %>
+          <%= t "printable_name.current_and_old_links_html",
+                :current_link => link_to(printable_element_name(node), node_path(node.node_id), { :rel => link_follow(node) }),
+                :old_link => link_to(printable_element_version(node), old_node_path(node.node_id, node.version), { :rel => link_follow(node) }) %>
+        <% end %>
       <% end %>
     </ul>
   <% end %>
index 37be312b1e86b0d38a9a3489389456bc1367a85c..cd333d3bfd1dbbcd1e301158274b40dfb7de3844 100644 (file)
@@ -1,6 +1,6 @@
-<% set_title(t("browse.#{@type}.title_html", :name => printable_name(@feature))) %>
+<% set_title(t("browse.#{@type}.title_html", :name => printable_element_name(@feature))) %>
 
-<%= render "sidebar_header", :title => t("browse.#{@type}.title_html", :name => printable_name(@feature)) %>
+<%= render "sidebar_header", :title => t("browse.#{@type}.title_html", :name => printable_element_name(@feature)) %>
 
 <%= render :partial => @type, :object => @feature %>
 
index fd1f5ffc5e1781c0dea5d671fe112cb01049bd19..bf11e8f1e20dec49bc014934701d99a82328af88 100644 (file)
@@ -1,6 +1,6 @@
-<% set_title(t("browse.#{@type}.history_title_html", :name => printable_name(@feature))) %>
+<% set_title(t("browse.#{@type}.history_title_html", :name => printable_element_name(@feature))) %>
 
-<%= render "sidebar_header", :title => t("browse.#{@type}.history_title_html", :name => printable_name(@feature)) %>
+<%= render "sidebar_header", :title => t("browse.#{@type}.history_title_html", :name => printable_element_name(@feature)) %>
 
 <%= render :partial => @type, :collection => @feature.send(:"old_#{@type}s").reverse %>
 
index 9220b2cc20ec03397707509a8d12d74220af0023..90be6b7c9007ad17536b615fe3f55d664f5c5068 100644 (file)
@@ -1,6 +1,6 @@
-<% set_title t("browse.node.title_html", :name => printable_name(@feature)) %>
+<% set_title t("browse.node.title_html", :name => printable_element_name(@feature)) %>
 
-<%= render "sidebar_header", :title => t("browse.node.title_html", :name => printable_name(@feature)) %>
+<%= render "sidebar_header", :title => t("browse.node.title_html", :name => printable_element_name(@feature)) %>
 
 <%= render :partial => "browse/node", :object => @feature %>
 
index b049a4cf0aebde2c54b51f607655af5112519190..42e80e6512ac084fe1877e7034ede0a0af3c5cb6 100644 (file)
@@ -1,6 +1,6 @@
-<% set_title t("browse.relation.title_html", :name => printable_name(@feature)) %>
+<% set_title t("browse.relation.title_html", :name => printable_element_name(@feature)) %>
 
-<%= render "sidebar_header", :title => t("browse.relation.title_html", :name => printable_name(@feature)) %>
+<%= render "sidebar_header", :title => t("browse.relation.title_html", :name => printable_element_name(@feature)) %>
 
 <%= render :partial => "browse/relation", :object => @feature %>
 
index d128cd2ad3665abbfbbcf4b4acd5bb9f9df05e5a..b16c6b291cdce8ea1dd828b4c96ddc9c7eedcff6 100644 (file)
@@ -1,6 +1,6 @@
-<% set_title t("browse.way.title_html", :name => printable_name(@feature)) %>
+<% set_title t("browse.way.title_html", :name => printable_element_name(@feature)) %>
 
-<%= render "sidebar_header", :title => t("browse.way.title_html", :name => printable_name(@feature)) %>
+<%= render "sidebar_header", :title => t("browse.way.title_html", :name => printable_element_name(@feature)) %>
 
 <%= render :partial => "browse/way", :object => @feature %>
 
index 7e65005ff6de7b6a4ff3abc661c882bc94e2a498..e6fde54c2625674ef5f08254454ad1e0974f73e3 100644 (file)
@@ -204,9 +204,9 @@ en:
         one: "%{count} year ago"
         other: "%{count} years ago"
   printable_name:
-    with_id: "%{id}"
-    with_version: "%{id}, v%{version}"
+    version: "v%{version}"
     with_name_html: "%{name} (%{id})"
+    current_and_old_links_html: "%{current_link}, %{old_link}"
   editor:
     default: "Default (currently %{name})"
     id:
index 7df246c5781c65e609737be9f151c9eff7a4e875..1023d76ae58713b521e6d1353c3dee11d630b213 100644 (file)
@@ -156,6 +156,15 @@ class BrowseControllerTest < ActionDispatch::IntegrationTest
     assert_select "div.changeset-comments ul li", :count => 4
   end
 
+  def test_read_changeset_element_links
+    changeset = create(:changeset)
+    node = create(:node, :with_history, :changeset => changeset)
+
+    browse_check :changeset_path, changeset.id, "browse/changeset"
+    assert_dom "a[href='#{node_path node}']", :count => 1
+    assert_dom "a[href='#{old_node_path node, 1}']", :count => 1
+  end
+
   ##
   #  Methods to check redaction.
   #
index a20e1703d4be41028f6dfbea8d4d30919ff368ee..4cf0ab69ad3aab53863c4c2872ffda8a45a03073 100644 (file)
@@ -4,7 +4,7 @@ class BrowseHelperTest < ActionView::TestCase
   include ERB::Util
   include ApplicationHelper
 
-  def test_printable_name
+  def test_printable_element_name
     node = create(:node, :with_history, :version => 2)
     node_v1 = node.old_nodes.find_by(:version => 1)
     node_v2 = node.old_nodes.find_by(:version => 2)
@@ -19,46 +19,54 @@ class BrowseHelperTest < ActionView::TestCase
 
     deleted_node = create(:node, :deleted)
 
-    assert_dom_equal deleted_node.id.to_s, printable_name(deleted_node)
-    assert_dom_equal "<bdi>Test Node</bdi> (<bdi>#{node.id}</bdi>)", printable_name(node)
-    assert_dom_equal "<bdi>Test Node</bdi> (<bdi>#{node.id}</bdi>)", printable_name(node_v2)
-    assert_dom_equal node.id.to_s, printable_name(node_v1)
-    assert_dom_equal "<bdi>Test Node</bdi> (<bdi>#{node.id}, v2</bdi>)", printable_name(node_v2, :version => true)
-    assert_dom_equal "#{node.id}, v1", printable_name(node_v1, :version => true)
-    assert_dom_equal "<bdi>3.1415926</bdi> (<bdi>#{node_with_ref_without_name.id}</bdi>)", printable_name(node_with_ref_without_name)
+    assert_dom_equal deleted_node.id.to_s, printable_element_name(deleted_node)
+    assert_dom_equal "<bdi>Test Node</bdi> (<bdi>#{node.id}</bdi>)", printable_element_name(node)
+    assert_dom_equal "<bdi>Test Node</bdi> (<bdi>#{node.id}</bdi>)", printable_element_name(node_v2)
+    assert_dom_equal node.id.to_s, printable_element_name(node_v1)
+    assert_dom_equal "<bdi>3.1415926</bdi> (<bdi>#{node_with_ref_without_name.id}</bdi>)", printable_element_name(node_with_ref_without_name)
 
     I18n.with_locale "pt" do
-      assert_dom_equal deleted_node.id.to_s, printable_name(deleted_node)
-      assert_dom_equal "<bdi>Nó teste</bdi> (<bdi>#{node.id}</bdi>)", printable_name(node)
-      assert_dom_equal "<bdi>Nó teste</bdi> (<bdi>#{node.id}</bdi>)", printable_name(node_v2)
-      assert_dom_equal node.id.to_s, printable_name(node_v1)
-      assert_dom_equal "<bdi>Nó teste</bdi> (<bdi>#{node.id}, v2</bdi>)", printable_name(node_v2, :version => true)
-      assert_dom_equal "#{node.id}, v1", printable_name(node_v1, :version => true)
-      assert_dom_equal "<bdi>3.1415926</bdi> (<bdi>#{node_with_ref_without_name.id}</bdi>)", printable_name(node_with_ref_without_name)
+      assert_dom_equal deleted_node.id.to_s, printable_element_name(deleted_node)
+      assert_dom_equal "<bdi>Nó teste</bdi> (<bdi>#{node.id}</bdi>)", printable_element_name(node)
+      assert_dom_equal "<bdi>Nó teste</bdi> (<bdi>#{node.id}</bdi>)", printable_element_name(node_v2)
+      assert_dom_equal node.id.to_s, printable_element_name(node_v1)
+      assert_dom_equal "<bdi>3.1415926</bdi> (<bdi>#{node_with_ref_without_name.id}</bdi>)", printable_element_name(node_with_ref_without_name)
     end
 
     I18n.with_locale "pt-BR" do
-      assert_dom_equal deleted_node.id.to_s, printable_name(deleted_node)
-      assert_dom_equal "<bdi>Nó teste</bdi> (<bdi>#{node.id}</bdi>)", printable_name(node)
-      assert_dom_equal "<bdi>Nó teste</bdi> (<bdi>#{node.id}</bdi>)", printable_name(node_v2)
-      assert_dom_equal node.id.to_s, printable_name(node_v1)
-      assert_dom_equal "<bdi>Nó teste</bdi> (<bdi>#{node.id}, v2</bdi>)", printable_name(node_v2, :version => true)
-      assert_dom_equal "#{node.id}, v1", printable_name(node_v1, :version => true)
-      assert_dom_equal "<bdi>3.1415926</bdi> (<bdi>#{node_with_ref_without_name.id}</bdi>)", printable_name(node_with_ref_without_name)
+      assert_dom_equal deleted_node.id.to_s, printable_element_name(deleted_node)
+      assert_dom_equal "<bdi>Nó teste</bdi> (<bdi>#{node.id}</bdi>)", printable_element_name(node)
+      assert_dom_equal "<bdi>Nó teste</bdi> (<bdi>#{node.id}</bdi>)", printable_element_name(node_v2)
+      assert_dom_equal node.id.to_s, printable_element_name(node_v1)
+      assert_dom_equal "<bdi>3.1415926</bdi> (<bdi>#{node_with_ref_without_name.id}</bdi>)", printable_element_name(node_with_ref_without_name)
     end
 
     I18n.with_locale "de" do
-      assert_dom_equal deleted_node.id.to_s, printable_name(deleted_node)
-      assert_dom_equal "<bdi>Test Node</bdi> (<bdi>#{node.id}</bdi>)", printable_name(node)
-      assert_dom_equal "<bdi>Test Node</bdi> (<bdi>#{node.id}</bdi>)", printable_name(node_v2)
-      assert_dom_equal node.id.to_s, printable_name(node_v1)
-      assert_dom_equal "<bdi>Test Node</bdi> (<bdi>#{node.id}, v2</bdi>)", printable_name(node_v2, :version => true)
-      assert_dom_equal "#{node.id}, v1", printable_name(node_v1, :version => true)
-      assert_dom_equal "<bdi>3.1415926</bdi> (<bdi>#{node_with_ref_without_name.id}</bdi>)", printable_name(node_with_ref_without_name)
+      assert_dom_equal deleted_node.id.to_s, printable_element_name(deleted_node)
+      assert_dom_equal "<bdi>Test Node</bdi> (<bdi>#{node.id}</bdi>)", printable_element_name(node)
+      assert_dom_equal "<bdi>Test Node</bdi> (<bdi>#{node.id}</bdi>)", printable_element_name(node_v2)
+      assert_dom_equal node.id.to_s, printable_element_name(node_v1)
+      assert_dom_equal "<bdi>3.1415926</bdi> (<bdi>#{node_with_ref_without_name.id}</bdi>)", printable_element_name(node_with_ref_without_name)
     end
   end
 
-  def test_link_class
+  def test_element_strikethrough
+    node = create(:node, :with_history, :version => 2)
+    node_v1 = node.old_nodes.find_by(:version => 1)
+    node_v2 = node.old_nodes.find_by(:version => 2)
+    node_v1.redact!(create(:redaction))
+
+    normal_output = element_strikethrough(node_v2) { "test" }
+    assert_equal "test", normal_output
+
+    redacted_output = element_strikethrough(node_v1) { "test" }
+    assert_equal "<s>test</s>", redacted_output
+
+    deleted_output = element_strikethrough(create(:node, :deleted)) { "test" }
+    assert_equal "<s>test</s>", deleted_output
+  end
+
+  def test_element_class
     node = create(:node, :with_history, :version => 2)
     node_v1 = node.old_nodes.find_by(:version => 1)
     node_v2 = node.old_nodes.find_by(:version => 2)
@@ -68,15 +76,15 @@ class BrowseHelperTest < ActionView::TestCase
     add_old_tags_selection(node_v2)
     add_old_tags_selection(node_v1)
 
-    assert_equal "node", link_class("node", create(:node))
-    assert_equal "node deleted", link_class("node", create(:node, :deleted))
+    assert_equal "node", element_class("node", create(:node))
+    assert_equal "node", element_class("node", create(:node, :deleted))
 
-    assert_equal "node building yes shop gift tourism museum", link_class("node", node)
-    assert_equal "node building yes shop gift tourism museum", link_class("node", node_v2)
-    assert_equal "node deleted", link_class("node", node_v1)
+    assert_equal "node building yes shop gift tourism museum", element_class("node", node)
+    assert_equal "node building yes shop gift tourism museum", element_class("node", node_v2)
+    assert_equal "node", element_class("node", node_v1)
   end
 
-  def test_link_title
+  def test_element_title
     node = create(:node, :with_history, :version => 2)
     node_v1 = node.old_nodes.find_by(:version => 1)
     node_v2 = node.old_nodes.find_by(:version => 2)
@@ -86,12 +94,12 @@ class BrowseHelperTest < ActionView::TestCase
     add_old_tags_selection(node_v2)
     add_old_tags_selection(node_v1)
 
-    assert_equal "", link_title(create(:node))
-    assert_equal "", link_title(create(:node, :deleted))
+    assert_equal "", element_title(create(:node))
+    assert_equal "", element_title(create(:node, :deleted))
 
-    assert_equal "building=yes, shop=gift, and tourism=museum", link_title(node)
-    assert_equal "building=yes, shop=gift, and tourism=museum", link_title(node_v2)
-    assert_equal "", link_title(node_v1)
+    assert_equal "building=yes, shop=gift, and tourism=museum", element_title(node)
+    assert_equal "building=yes, shop=gift, and tourism=museum", element_title(node_v2)
+    assert_equal "", element_title(node_v1)
   end
 
   def test_icon_tags